diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
index a583b707c46e6486907ec580ba25c5811255b89b..0bc8eb17a0911c9e3e9d9e9eb01c0affbc4ed80e 100644
--- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp
+++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
@@ -203,13 +203,14 @@ void MiniTargetWidget::setActiveBuildConfiguration(int index)
     ProjectExplorer::BuildConfiguration* bc =
             m_buildComboBox->itemData(index).value<ProjectExplorer::BuildConfiguration*>();
     m_target->setActiveBuildConfiguration(bc);
-    emit activeBuildConfigurationChanged(bc);
+    emit changed();
 }
 
 void MiniTargetWidget::setActiveRunConfiguration(int index)
 {
     m_target->setActiveRunConfiguration(
             m_runComboBox->itemData(index).value<ProjectExplorer::RunConfiguration*>());
+    emit changed();
 }
 void MiniTargetWidget::setActiveBuildConfiguration()
 {
@@ -264,6 +265,7 @@ void MiniTargetWidget::updateDisplayName()
         m_buildComboBox->setItemText(m_buildComboBox->findData(QVariant::fromValue(bc)),
                                      bc->displayName());
     }
+    emit changed();
 }
 
 bool MiniTargetWidget::hasBuildConfiguration() const
@@ -377,14 +379,12 @@ void MiniProjectTargetSelector::addTarget(ProjectExplorer::Target *target, bool
     if (index < 0)
         return;
 
-    connect(target, SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
-            SLOT(updateAction()));
-
     ProjectListWidget *plw = qobject_cast<ProjectListWidget*>(m_widgetStack->widget(index));
 
     QListWidgetItem *lwi = new QListWidgetItem();
     plw->addItem(lwi);
     MiniTargetWidget *targetWidget = new MiniTargetWidget(target);
+    connect(targetWidget, SIGNAL(changed()), this, SLOT(updateAction()));
     targetWidget->installEventFilter(this);
     if (targetWidget->buildSettingsComboBox())
         targetWidget->buildSettingsComboBox()->installEventFilter(this);
@@ -425,23 +425,36 @@ void MiniProjectTargetSelector::updateAction()
     Project *project = ProjectExplorerPlugin::instance()->startupProject();
 
     QString projectName = tr("No Project");
-    QString buildConfig = tr("None");
+    QString targetName;
+    QString buildConfig;
+    QString runConfig;
 
     if (project) {
         projectName = project->displayName();
 
-        if (project->activeTarget() && project->activeTarget()->activeBuildConfiguration()) {
-            if (BuildConfiguration* bc = project->activeTarget()->activeBuildConfiguration())
+        if (Target *target = project->activeTarget()) {
+            if (project->targets().count() > 1) {
+                targetName = project->activeTarget()->displayName();
+            }
+            if (BuildConfiguration *bc = target->activeBuildConfiguration()) {
                 buildConfig = bc->displayName();
+            }
+
+            if (RunConfiguration *rc = target->activeRunConfiguration()) {
+                runConfig = rc->displayName();
+            }
         }
     }
     m_projectAction->setProperty("heading", projectName);
     m_projectAction->setProperty("subtitle", buildConfig);
-    if (project &&
-        project->activeTarget())
+    if (project && project->activeTarget())
         m_projectAction->setIcon(project->activeTarget()->icon());
-    else
-        m_projectAction->setIcon(m_projectAction->icon()); // Hack to force update!
+    QString toolTip = tr("<html><b>Project:</b> %1<br/>%2%3<b>Run:</b> %4</html>");
+    QString targetTip = targetName.isEmpty() ? QLatin1String("")
+        : tr("<b>Target:</b> %1<br/>").arg(targetName);
+    QString buildTip = buildConfig.isEmpty() ? QLatin1String("")
+        : tr("<b>Build:</b> %2<br/>").arg(buildConfig);
+    m_projectAction->setToolTip(toolTip.arg(projectName, targetTip, buildTip, runConfig));
 }
 
 int MiniProjectTargetSelector::indexFor(ProjectExplorer::Project *project) const
diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.h b/src/plugins/projectexplorer/miniprojecttargetselector.h
index dede1c4c66c047dbcf2b40303984d582e0afc752..7590ad644e4fada43db308deea65f7cdd427a922 100644
--- a/src/plugins/projectexplorer/miniprojecttargetselector.h
+++ b/src/plugins/projectexplorer/miniprojecttargetselector.h
@@ -93,7 +93,7 @@ private slots:
     void updateDisplayName();
 
 signals:
-    void activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration *buildConfig);
+    void changed();
 
 private:
     QLabel *m_targetName;