diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
index 89028951573b3a2ef4211066c85766251ada606e..b71e78f07f51f263b82ad487f9a54fca87d09c51 100644
--- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp
+++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
@@ -461,6 +461,8 @@ void MiniProjectTargetSelector::addProject(ProjectExplorer::Project* project)
             SLOT(addTarget(ProjectExplorer::Target*)));
     connect(project, SIGNAL(removedTarget(ProjectExplorer::Target*)),
             SLOT(removeTarget(ProjectExplorer::Target*)));
+    connect(project, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)),
+            SLOT(changeActiveTarget(ProjectExplorer::Target*)));
 
     if (project == ProjectExplorerPlugin::instance()->startupProject()) {
         m_projectsBox->setCurrentIndex(pos);
@@ -546,6 +548,23 @@ void MiniProjectTargetSelector::removeTarget(ProjectExplorer::Target *target)
     disconnect(target, SIGNAL(overlayIconChanged()), this, SLOT(updateAction()));
 }
 
+void MiniProjectTargetSelector::changeActiveTarget(ProjectExplorer::Target *target)
+{
+    int index = indexFor(target->project());
+    if (index < 0)
+        return;
+    ProjectListWidget *plw = qobject_cast<ProjectListWidget*>(m_widgetStack->widget(index));
+
+    for (int i = 0; i < plw->count(); ++i) {
+        QListWidgetItem *itm = plw->item(i);
+        MiniTargetWidget *mtw = qobject_cast<MiniTargetWidget*>(plw->itemWidget(itm));
+        if (mtw->target() == target) {
+            plw->setCurrentItem(itm);
+            break;
+        }
+    }
+}
+
 void MiniProjectTargetSelector::updateAction()
 {
     Project *project = ProjectExplorerPlugin::instance()->startupProject();
diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.h b/src/plugins/projectexplorer/miniprojecttargetselector.h
index 5b2cbd588a41ce8a728d4b94c7f2288027536bc9..faffe3d8bb877e5bd94af887e3c182d2b253286f 100644
--- a/src/plugins/projectexplorer/miniprojecttargetselector.h
+++ b/src/plugins/projectexplorer/miniprojecttargetselector.h
@@ -125,6 +125,7 @@ private slots:
     void removeProject(ProjectExplorer::Project *project);
     void addTarget(ProjectExplorer::Target *target, bool isActiveTarget = false);
     void removeTarget(ProjectExplorer::Target *target);
+    void changeActiveTarget(ProjectExplorer::Target *target);
     void emitStartupProjectChanged(int index);
     void changeStartupProject(ProjectExplorer::Project *project);
     void updateAction();