diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp
index 36dc0afaa4e67310dfc374899d54f752bb9ef15a..c79b13d67debe523e3023d9aa79ffee413f86f90 100644
--- a/src/plugins/qt4projectmanager/makestep.cpp
+++ b/src/plugins/qt4projectmanager/makestep.cpp
@@ -305,7 +305,7 @@ void MakeStep::setUserArguments(const QString &arguments)
 }
 
 MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
-    : BuildStepConfigWidget(), m_ui(new Internal::Ui::MakeStep), m_makeStep(makeStep), m_ignoreChange(false)
+    : BuildStepConfigWidget(), m_ui(new Internal::Ui::MakeStep), m_makeStep(makeStep), m_bc(0), m_ignoreChange(false)
 {
     m_ui->setupUi(this);
 
@@ -327,13 +327,26 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
 
     connect(makeStep, SIGNAL(userArgumentsChanged()),
             this, SLOT(userArgumentsChanged()));
-    connect(makeStep->buildConfiguration(), SIGNAL(buildDirectoryChanged()),
-            this, SLOT(updateDetails()));
-    connect(makeStep->buildConfiguration(), SIGNAL(toolChainChanged()),
-            this, SLOT(updateDetails()));
 
-    connect(makeStep->qt4BuildConfiguration(), SIGNAL(qtVersionChanged()),
-            this, SLOT(qtVersionChanged()));
+    ProjectExplorer::BuildConfiguration *bc = makeStep->buildConfiguration();
+    if (!bc) {
+        // That means the step is in the deploylist, so we listen to the active build config
+        // changed signal and update various things in return
+        bc = makeStep->target()->activeBuildConfiguration();
+        m_bc = bc;
+        connect (makeStep->target(), SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
+                 this, SLOT(activeBuildConfigurationChanged()));
+    }
+
+    if (bc) {
+        connect(bc, SIGNAL(buildDirectoryChanged()),
+                this, SLOT(updateDetails()));
+        connect(bc, SIGNAL(toolChainChanged()),
+                this, SLOT(updateDetails()));
+
+        connect(bc, SIGNAL(qtVersionChanged()),
+                this, SLOT(qtVersionChanged()));
+    }
 
     connect(ProjectExplorer::ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()),
             this, SLOT(updateMakeOverrideLabel()));
@@ -341,6 +354,33 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
             this, SLOT(updateDetails()));
 }
 
+void MakeStepConfigWidget::activeBuildConfigurationChanged()
+{
+    if (m_bc) {
+        disconnect(m_bc, SIGNAL(buildDirectoryChanged()),
+                this, SLOT(updateDetails()));
+        disconnect(m_bc, SIGNAL(toolChainChanged()),
+                this, SLOT(updateDetails()));
+
+        disconnect(m_bc, SIGNAL(qtVersionChanged()),
+                this, SLOT(qtVersionChanged()));
+    }
+
+    m_bc = m_makeStep->target()->activeBuildConfiguration();
+    updateMakeOverrideLabel();
+    updateDetails();
+
+    if (m_bc) {
+        connect(m_bc, SIGNAL(buildDirectoryChanged()),
+                this, SLOT(updateDetails()));
+        connect(m_bc, SIGNAL(toolChainChanged()),
+                this, SLOT(updateDetails()));
+
+        connect(m_bc, SIGNAL(qtVersionChanged()),
+                this, SLOT(qtVersionChanged()));
+    }
+}
+
 MakeStepConfigWidget::~MakeStepConfigWidget()
 {
     delete m_ui;
diff --git a/src/plugins/qt4projectmanager/makestep.h b/src/plugins/qt4projectmanager/makestep.h
index 0507d24b6da630d154ea735e04c4329c8847c715..6c010a7d2e0da9e553993ea13c84256496080f26 100644
--- a/src/plugins/qt4projectmanager/makestep.h
+++ b/src/plugins/qt4projectmanager/makestep.h
@@ -138,10 +138,12 @@ private slots:
     void updateDetails();
     void userArgumentsChanged();
     void qtVersionChanged();
+    void activeBuildConfigurationChanged();
 private:
     Internal::Ui::MakeStep *m_ui;
     MakeStep *m_makeStep;
     QString m_summaryText;
+    ProjectExplorer::BuildConfiguration *m_bc;
     bool m_ignoreChange;
 };