diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 9b0f5db2d2b701c7257b55db13ffa100e5935683..50caa284ebffa3529489b779a6676fe941753ab4 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -35,6 +35,7 @@
 #include "gcctoolchainfactories.h"
 #include "project.h"
 #include "projectexplorersettings.h"
+#include "removetaskhandler.h"
 #include "kitmanager.h"
 #include "kitoptionspage.h"
 #include "target.h"
@@ -393,6 +394,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
     addAutoReleasedObject(new CopyTaskHandler);
     addAutoReleasedObject(new ShowInEditorTaskHandler);
     addAutoReleasedObject(new VcsAnnotateTaskHandler);
+    addAutoReleasedObject(new RemoveTaskHandler);
     addAutoReleasedObject(new CoreListener);
 
     d->m_outputPane = new AppOutputPane;
diff --git a/src/plugins/projectexplorer/projectexplorer.pro b/src/plugins/projectexplorer/projectexplorer.pro
index a4bd7003df395ba4615de11203a375c7795f5863..26185070f4af9b3827593d5fa5dc61f28ca71d13 100644
--- a/src/plugins/projectexplorer/projectexplorer.pro
+++ b/src/plugins/projectexplorer/projectexplorer.pro
@@ -15,6 +15,7 @@ HEADERS += projectexplorer.h \
     gcctoolchain.h \
     projectexplorer_export.h \
     projectwindow.h \
+    removetaskhandler.h \
     kit.h \
     kitchooser.h \
     kitconfigwidget.h \
@@ -134,6 +135,7 @@ SOURCES += projectexplorer.cpp \
     clangparser.cpp \
     gcctoolchain.cpp \
     projectwindow.cpp \
+    removetaskhandler.cpp \
     kit.cpp \
     kitchooser.cpp \
     kitinformation.cpp \
diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs
index c008f7be1b3e514c40b0daa1b2ecabaca37f1dd5..88c31b89aca4938b11ef0dd8c91bf6e20c58c295 100644
--- a/src/plugins/projectexplorer/projectexplorer.qbs
+++ b/src/plugins/projectexplorer/projectexplorer.qbs
@@ -178,6 +178,8 @@ QtcPlugin {
         "projectwizardpage.cpp",
         "projectwizardpage.h",
         "projectwizardpage.ui",
+        "removetaskhandler.cpp",
+        "removetaskhandler.h",
         "runconfiguration.cpp",
         "runconfiguration.h",
         "runconfigurationmodel.cpp",
diff --git a/src/plugins/projectexplorer/removetaskhandler.cpp b/src/plugins/projectexplorer/removetaskhandler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..a0cff83594247c7fc0cdf6408becd195fcbadf9d
--- /dev/null
+++ b/src/plugins/projectexplorer/removetaskhandler.cpp
@@ -0,0 +1,56 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: http://www.qt-project.org/
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**************************************************************************/
+
+#include "removetaskhandler.h"
+
+#include "projectexplorer.h"
+#include "task.h"
+#include "taskhub.h"
+
+#include <coreplugin/coreconstants.h>
+
+#include <QDir>
+#include <QAction>
+#include <QApplication>
+#include <QClipboard>
+
+using namespace ProjectExplorer::Internal;
+
+void RemoveTaskHandler::handle(const ProjectExplorer::Task &task)
+{
+    ProjectExplorerPlugin::instance()->taskHub()->removeTask(task);
+}
+
+QAction *RemoveTaskHandler::createAction(QObject *parent) const
+{
+    QAction *removeAction = new QAction(tr("Remove", "Name of the action triggering the removetaskhandler"), parent);
+    removeAction->setToolTip(tr("Remove task from the task list"));
+    return removeAction;
+}
diff --git a/src/plugins/projectexplorer/removetaskhandler.h b/src/plugins/projectexplorer/removetaskhandler.h
new file mode 100644
index 0000000000000000000000000000000000000000..e13258e9bfa1bdf41c35884c651a5bf0f0d3ae31
--- /dev/null
+++ b/src/plugins/projectexplorer/removetaskhandler.h
@@ -0,0 +1,54 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: http://www.qt-project.org/
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**************************************************************************/
+
+#ifndef PROJECTEXPLORER_REMOVETASKHANDLER_H
+#define PROJECTEXPLORER_REMOVETASKHANDLER_H
+
+#include "itaskhandler.h"
+
+namespace ProjectExplorer {
+namespace Internal {
+
+class RemoveTaskHandler : public ITaskHandler
+{
+    Q_OBJECT
+
+public:
+    RemoveTaskHandler() {}
+
+    bool canHandle(const Task &) const { return true; }
+    void handle(const Task &task);
+    QAction *createAction(QObject *parent) const;
+};
+
+} // namespace Internal
+} // namespace ProjectExplorer
+
+#endif // PROJECTEXPLORER_REMOVETASKHANDLER_H