diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp
index f538d8d..1dd852c 100644
--- a/src/plugins/projectexplorer/buildmanager.cpp
+++ b/src/plugins/projectexplorer/buildmanager.cpp
@@ -100,6 +100,9 @@ BuildManager::BuildManager(ProjectExplorerPlugin *parent)
     connect(m_taskWindow, SIGNAL(tasksChanged()),
             this, SLOT(updateTaskCount()));
 
+    connect(m_taskWindow, SIGNAL(tasksCleared()),
+            this,SIGNAL(tasksCleared()));
+
     connect(&m_progressWatcher, SIGNAL(canceled()),
             this, SLOT(cancel()));
     connect(&m_progressWatcher, SIGNAL(finished()),
@@ -280,6 +283,7 @@ void BuildManager::showBuildResults()
 void BuildManager::addToTaskWindow(const ProjectExplorer::Task &task)
 {
     m_taskWindow->addTask(task);
+    emit taskAdded(task);
 }
 
 void BuildManager::addToOutputWindow(const QString &string)
diff --git a/src/plugins/projectexplorer/buildmanager.h b/src/plugins/projectexplorer/buildmanager.h
index dda5c10..e4370fb 100644
--- a/src/plugins/projectexplorer/buildmanager.h
+++ b/src/plugins/projectexplorer/buildmanager.h
@@ -92,6 +92,8 @@ signals:
     void buildStateChanged(ProjectExplorer::Project *pro);
     void buildQueueFinished(bool success);
     void tasksChanged();
+    void taskAdded(const ProjectExplorer::Task &task);
+    void tasksCleared();
 
 private slots:
     void addToTaskWindow(const ProjectExplorer::Task &task);
diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp
index fb28941..6885112 100644
--- a/src/plugins/projectexplorer/taskwindow.cpp
+++ b/src/plugins/projectexplorer/taskwindow.cpp
@@ -541,6 +541,7 @@ void TaskWindow::clearTasks(const QString &categoryId)
 
     updateActions();
     emit tasksChanged();
+    emit tasksCleared();
     navigateStateChanged();
 }
 
diff --git a/src/plugins/projectexplorer/taskwindow.h b/src/plugins/projectexplorer/taskwindow.h
index 1d6df98..485cdf2 100644
--- a/src/plugins/projectexplorer/taskwindow.h
+++ b/src/plugins/projectexplorer/taskwindow.h
@@ -129,6 +129,7 @@ public:
 
 signals:
     void tasksChanged();
+    void tasksCleared();
 
 private slots:
     void showTaskInFile(const QModelIndex &index);
