diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index e95e0429b705bb1fa861fa78474b64431c03e0b5..cf50b4a2be1976d26a675488dbc6d51875e550fe 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -157,16 +157,8 @@ void BuildSettingsWidget::setupUi()
         vbox->addLayout(hbox);
     }
 
-    m_makeActiveLabel = new QLabel(this);
-    m_makeActiveLabel->setContentsMargins(m_leftMargin, 4, 0, 4);
-    m_makeActiveLabel->setVisible(false);
-    vbox->addWidget(m_makeActiveLabel);
-
     m_buildConfiguration = m_project->activeBuildConfiguration();
 
-    connect(m_makeActiveLabel, SIGNAL(linkActivated(QString)),
-            this, SLOT(makeActive()));
-
     connect(m_buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)),
             this, SLOT(currentIndexChanged(int)));
 
@@ -178,8 +170,7 @@ void BuildSettingsWidget::setupUi()
 //            this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
 
     connect(m_project, SIGNAL(activeBuildConfigurationChanged()),
-            this, SLOT(checkMakeActiveLabel()));
-
+            this, SLOT(updateConfigurationComboBoxLabels()));
     connect(m_project, SIGNAL(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)),
             this, SLOT(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)));
 
@@ -214,9 +205,8 @@ void BuildSettingsWidget::buildConfigurationDisplayNameChanged()
 {
     for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
         BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>();
-        m_buildConfigurationComboBox->setItemText(i, bc->displayName());
+        m_buildConfigurationComboBox->setItemText(i, buildConfigurationItemName(bc));
     }
-    checkMakeActiveLabel();
 }
 
 void BuildSettingsWidget::addSubWidget(const QString &name, QWidget *widget)
@@ -253,11 +243,6 @@ QList<QWidget *> BuildSettingsWidget::subWidgets() const
     return m_subWidgets;
 }
 
-void BuildSettingsWidget::makeActive()
-{
-    m_project->setActiveBuildConfiguration(m_buildConfiguration);
-}
-
 void BuildSettingsWidget::updateAddButtonMenu()
 {
     m_addButtonMenu->clear();
@@ -297,23 +282,23 @@ void BuildSettingsWidget::updateBuildSettings()
 
     // Add tree items
     foreach (BuildConfiguration *bc, m_project->buildConfigurations()) {
-        m_buildConfigurationComboBox->addItem(bc->displayName(), QVariant::fromValue<BuildConfiguration *>(bc));
+        m_buildConfigurationComboBox->addItem(buildConfigurationItemName(bc), QVariant::fromValue<BuildConfiguration *>(bc));
         if (bc == m_buildConfiguration)
             m_buildConfigurationComboBox->setCurrentIndex(m_buildConfigurationComboBox->count() - 1);
     }
 
     m_buildConfigurationComboBox->blockSignals(blocked);
 
-    activeBuildConfigurationChanged();
+    currentBuildConfigurationChanged();
 }
 
 void BuildSettingsWidget::currentIndexChanged(int index)
 {
     m_buildConfiguration = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
-    activeBuildConfigurationChanged();
+    currentBuildConfigurationChanged();
 }
 
-void BuildSettingsWidget::activeBuildConfigurationChanged()
+void BuildSettingsWidget::currentBuildConfigurationChanged()
 {
     for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
         if (m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>() == m_buildConfiguration) {
@@ -326,18 +311,23 @@ void BuildSettingsWidget::activeBuildConfigurationChanged()
             buildStepWidget->init(m_buildConfiguration);
         }
     }
-    checkMakeActiveLabel();
 }
 
-void BuildSettingsWidget::checkMakeActiveLabel()
+void BuildSettingsWidget::updateConfigurationComboBoxLabels()
 {
-    m_makeActiveLabel->setVisible(false);
-    if (!m_project->activeBuildConfiguration() || m_project->activeBuildConfiguration() != m_buildConfiguration) {
-        m_makeActiveLabel->setText(tr("<a href=\"#\">Make %1 active.</a>").arg(m_buildConfiguration->displayName()));
-        m_makeActiveLabel->setVisible(true);
+    for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
+        BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>();
+        m_buildConfigurationComboBox->setItemText(i, buildConfigurationItemName(bc));
     }
 }
 
+QString BuildSettingsWidget::buildConfigurationItemName(const BuildConfiguration *bc) const
+{
+    if (bc == m_project->activeBuildConfiguration())
+        return tr("%1 (Active)").arg(bc->displayName());
+    return bc->displayName();
+}
+
 void BuildSettingsWidget::createConfiguration()
 {
     QAction *action = qobject_cast<QAction *>(sender());
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.h b/src/plugins/projectexplorer/buildsettingspropertiespage.h
index 9749ca6fa66c2c752aa0ac170befc8f792c64cf5..80121aa46fadf805088ac41adbd77e0517a3e81b 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.h
@@ -91,21 +91,22 @@ public:
 private slots:
     void updateBuildSettings();
     void currentIndexChanged(int index);
-    void activeBuildConfigurationChanged();
+    void currentBuildConfigurationChanged();
 
     void createConfiguration();
     void cloneConfiguration();
     void deleteConfiguration();
     void updateAddButtonMenu();
-    void checkMakeActiveLabel();
-    void makeActive();
 
     void addedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
     void removedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
     void buildConfigurationDisplayNameChanged();
+    void updateConfigurationComboBoxLabels();
+
 private:
     void cloneConfiguration(BuildConfiguration *toClone);
     void deleteConfiguration(BuildConfiguration *toDelete);
+    QString buildConfigurationItemName(const BuildConfiguration *bc) const;
 
     Project *m_project;
     BuildConfiguration *m_buildConfiguration;
@@ -114,7 +115,6 @@ private:
     QPushButton *m_removeButton;
     QComboBox *m_buildConfigurationComboBox;
     QMenu *m_addButtonMenu;
-    QLabel *m_makeActiveLabel;
 
     QList<QWidget *> m_subWidgets;
     QList<QLabel *> m_labels;
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index a5a28aad54e129bc13c8111f65461cb80f09b5df..2d8b1a647048c16f539d0e942b34d6603d203ed1 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -63,7 +63,8 @@ class RunConfigurationsModel : public QAbstractListModel
 {
 public:
     RunConfigurationsModel(QObject *parent = 0)
-        : QAbstractListModel(parent)
+        : QAbstractListModel(parent),
+        m_activeRunConfiguration(0)
     {}
 
     int rowCount(const QModelIndex &parent = QModelIndex()) const;
@@ -73,9 +74,11 @@ public:
     void setRunConfigurations(const QList<RunConfiguration *> &runConfigurations);
     QList<RunConfiguration *> runConfigurations() const { return m_runConfigurations; }
     void displayNameChanged(RunConfiguration *rc);
+    void activeRunConfigurationChanged(RunConfiguration *rc);
 
 private:
     QList<RunConfiguration *> m_runConfigurations;
+    RunConfiguration *m_activeRunConfiguration;
 };
 
 } // namespace Internal
@@ -158,12 +161,21 @@ void RunConfigurationsModel::displayNameChanged(RunConfiguration *rc)
     }
 }
 
+void RunConfigurationsModel::activeRunConfigurationChanged(RunConfiguration *rc)
+{
+    m_activeRunConfiguration = rc;
+    emit dataChanged(index(0, 0), index(m_runConfigurations.size()-1, 0));
+}
+
 QVariant RunConfigurationsModel::data(const QModelIndex &index, int role) const
 {
     if (role == Qt::DisplayRole) {
         const int row = index.row();
         if (row < m_runConfigurations.size()) {
-            return m_runConfigurations.at(row)->displayName();
+            RunConfiguration *rc = m_runConfigurations.at(row);
+            if (rc == m_activeRunConfiguration)
+                return tr("%1 (Active)").arg(rc->displayName());
+            return rc->displayName();
         }
     }
 
@@ -194,10 +206,6 @@ RunSettingsWidget::RunSettingsWidget(Project *project)
     m_ui->removeToolButton->setText(tr("Remove"));
     m_ui->runConfigurationCombo->setModel(m_runConfigurationsModel);
 
-    m_makeActiveLabel = new QLabel(this);
-    m_makeActiveLabel->setVisible(false);
-    layout()->addWidget(m_makeActiveLabel);
-
     connect(m_addMenu, SIGNAL(aboutToShow()),
             this, SLOT(aboutToShowAddMenu()));
     connect(m_ui->runConfigurationCombo, SIGNAL(currentIndexChanged(int)),
@@ -209,12 +217,8 @@ RunSettingsWidget::RunSettingsWidget(Project *project)
             this, SLOT(initRunConfigurationComboBox()));
     connect(m_project, SIGNAL(addedRunConfiguration(ProjectExplorer::RunConfiguration *)),
             this, SLOT(initRunConfigurationComboBox()));
-
     connect(m_project, SIGNAL(activeRunConfigurationChanged()),
-            this, SLOT(updateMakeActiveLabel()));
-
-    connect(m_makeActiveLabel, SIGNAL(linkActivated(QString)),
-            this, SLOT(makeActive()));
+            this, SLOT(activeRunConfigurationChanged()));
 
     initRunConfigurationComboBox();
     const QList<RunConfiguration *> runConfigurations = m_project->runConfigurations();
@@ -298,7 +302,12 @@ void RunSettingsWidget::initRunConfigurationComboBox()
     else
         m_ui->runConfigurationCombo->setCurrentIndex(runConfigurations.indexOf(activeRunConfiguration));
     m_ui->removeToolButton->setEnabled(runConfigurations.size() > 1);
-    updateMakeActiveLabel();
+    activeRunConfigurationChanged();
+}
+
+void RunSettingsWidget::activeRunConfigurationChanged()
+{
+    m_runConfigurationsModel->activeRunConfigurationChanged(m_project->activeRunConfiguration());
 }
 
 void RunSettingsWidget::showRunConfigurationWidget(int index)
@@ -316,39 +325,10 @@ void RunSettingsWidget::showRunConfigurationWidget(int index)
     delete m_runConfigurationWidget;
     m_runConfigurationWidget = selectedRunConfiguration->configurationWidget();
     layout()->addWidget(m_runConfigurationWidget);
-    updateMakeActiveLabel();
-}
-
-void RunSettingsWidget::updateMakeActiveLabel()
-{
-    m_makeActiveLabel->setVisible(false);
-    RunConfiguration *rc = 0;
-    int index = m_ui->runConfigurationCombo->currentIndex();
-    if (index != -1) {
-        rc = m_runConfigurationsModel->runConfigurations().at(index);
-    }
-    if (rc) {
-        if (m_project->activeRunConfiguration() != rc) {
-            m_makeActiveLabel->setText(tr("<a href=\"#\">Make %1 active.</a>").arg(rc->displayName()));
-            m_makeActiveLabel->setVisible(true);
-        }
-    }
-}
-
-void RunSettingsWidget::makeActive()
-{
-    RunConfiguration *rc = 0;
-    int index = m_ui->runConfigurationCombo->currentIndex();
-    if (index != -1) {
-        rc = m_runConfigurationsModel->runConfigurations().at(index);
-    }
-    if (rc)
-        m_project->setActiveRunConfiguration(rc);
 }
 
 void RunSettingsWidget::displayNameChanged()
 {
     RunConfiguration *rc = qobject_cast<RunConfiguration *>(sender());
     m_runConfigurationsModel->displayNameChanged(rc);
-    updateMakeActiveLabel();
 }
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.h b/src/plugins/projectexplorer/runsettingspropertiespage.h
index 8d070d1fa620e1542326bdd7a6e00c6efa210682..c7efeb8f63a8f4766ee6a60852bb79727300fa4e 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.h
@@ -86,13 +86,11 @@ private slots:
     void removeRunConfiguration();
     void displayNameChanged();
     void initRunConfigurationComboBox();
-    void updateMakeActiveLabel();
-    void makeActive();
+    void activeRunConfigurationChanged();
 private:
     Project *m_project;
     RunConfigurationsModel *m_runConfigurationsModel;
     Ui::RunSettingsPropertiesPage *m_ui;
-    QLabel *m_makeActiveLabel;
     QWidget *m_runConfigurationWidget;
     QMenu *m_addMenu;
 };