diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
index 6bccc16dcc601af612388ae3dc36c8b4219a5503..f84d8e5b4dd0e5804cfd044d9900d98825b45512 100644
--- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
@@ -148,7 +148,7 @@ void Qt4BuildConfiguration::kitChanged()
         // For that reason the Qt4BuildConfiguration is also connected
         // to the toolchain and qtversion managers
         emitProFileEvaluateNeeded();
-        emitBuildDirectoryChanged();
+        updateShadowBuild();
         m_lastKitState = newState;
     }
 }
@@ -165,15 +165,15 @@ void Qt4BuildConfiguration::qtVersionsChanged(const QList<int> &,const QList<int
         emitProFileEvaluateNeeded();
 }
 
-bool Qt4BuildConfiguration::emitBuildDirectoryChanged()
+void Qt4BuildConfiguration::updateShadowBuild()
 {
     // We also emit buildDirectoryChanged if the the Qt version's supportShadowBuild changed
-    if (supportsShadowBuilds() != m_qtVersionSupportsShadowBuilds) {
-        m_qtVersionSupportsShadowBuilds = supportsShadowBuilds();
-        emit buildDirectoryChanged();
-        return true;
+    bool currentShadowBuild = supportsShadowBuilds();
+    if (currentShadowBuild != m_qtVersionSupportsShadowBuilds) {
+        if (!currentShadowBuild)
+            setBuildDirectory(Utils::FileName::fromString(target()->project()->projectDirectory()));
+        m_qtVersionSupportsShadowBuilds = currentShadowBuild;
     }
-    return false;
 }
 
 NamedWidget *Qt4BuildConfiguration::createConfigWidget()
diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.h b/src/plugins/qt4projectmanager/qt4buildconfiguration.h
index b12dcaa1326670749ac5b7442e2bed155e259b59..b6256df57bff0fed34c15bbb6a4b995a1a4b4f17 100644
--- a/src/plugins/qt4projectmanager/qt4buildconfiguration.h
+++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.h
@@ -125,7 +125,6 @@ private slots:
     void kitChanged();
     void toolChainUpdated(ProjectExplorer::ToolChain *tc);
     void qtVersionsChanged(const QList<int> &, const QList<int> &, const QList<int> &changed);
-    bool emitBuildDirectoryChanged();
 
 protected:
     Qt4BuildConfiguration(ProjectExplorer::Target *target, Qt4BuildConfiguration *source);
@@ -136,6 +135,7 @@ private:
     void ctor();
     QString defaultShadowBuildDirectory() const;
     void setBuildDirectory(const Utils::FileName &directory);
+    void updateShadowBuild();
 
     class LastKitState
     {