diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp
index cc819cd049a51cc9d3ea47ad481bf5581e938fbf..c49239b451621d7d101423f41ab37fa507db246e 100644
--- a/src/plugins/projectexplorer/buildconfiguration.cpp
+++ b/src/plugins/projectexplorer/buildconfiguration.cpp
@@ -92,8 +92,8 @@ BuildConfiguration::BuildConfiguration(Target *target, const Core::Id id) :
     bsl->setDefaultDisplayName(tr("Clean"));
     m_stepLists.append(bsl);
 
-    connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)),
-            this, SLOT(handleKitUpdate(ProjectExplorer::Kit*)));
+    connect(target, SIGNAL(kitChanged()),
+            this, SLOT(handleKitUpdate()));
 }
 
 BuildConfiguration::BuildConfiguration(Target *target, BuildConfiguration *source) :
@@ -107,8 +107,8 @@ BuildConfiguration::BuildConfiguration(Target *target, BuildConfiguration *sourc
     // otherwise BuildStepFactories might reject to set up a BuildStep for us
     // since we are not yet the derived class!
 
-    connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)),
-            this, SLOT(handleKitUpdate(ProjectExplorer::Kit*)));
+    connect(target, SIGNAL(kitChanged()),
+            this, SLOT(handleKitUpdate()));
 }
 
 BuildConfiguration::~BuildConfiguration()
@@ -187,10 +187,8 @@ bool BuildConfiguration::fromMap(const QVariantMap &map)
     return ProjectConfiguration::fromMap(map);
 }
 
-void BuildConfiguration::handleKitUpdate(ProjectExplorer::Kit *k)
+void BuildConfiguration::handleKitUpdate()
 {
-    if (k != target()->kit())
-        return;
     emit environmentChanged();
 }
 
diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h
index 816f76e56f3051661090904cfd791d55a59a7e49..6110c702ae59997804e8e5c310c52ba57385de5a 100644
--- a/src/plugins/projectexplorer/buildconfiguration.h
+++ b/src/plugins/projectexplorer/buildconfiguration.h
@@ -111,7 +111,7 @@ protected:
     virtual bool fromMap(const QVariantMap &map);
 
 private slots:
-    void handleKitUpdate(ProjectExplorer::Kit *k);
+    void handleKitUpdate();
 
 private:
     bool m_clearSystemEnvironment;