diff --git a/src/plugins/madde/qt4maemotarget.cpp b/src/plugins/madde/qt4maemotarget.cpp
index 0a86e5a08c6a98282b87670ea21c9123e597f354..d4c35c5d857d1e1b2ccd1ccf90e931e5d0fe4922 100644
--- a/src/plugins/madde/qt4maemotarget.cpp
+++ b/src/plugins/madde/qt4maemotarget.cpp
@@ -160,9 +160,10 @@ ProjectExplorer::IBuildConfigurationFactory *AbstractQt4MaemoTarget::buildConfig
     return m_buildConfigurationFactory;
 }
 
-void AbstractQt4MaemoTarget::createApplicationProFiles()
+void AbstractQt4MaemoTarget::createApplicationProFiles(bool reparse)
 {
-    removeUnconfiguredCustomExectutableRunConfigurations();
+    if (!reparse)
+        removeUnconfiguredCustomExectutableRunConfigurations();
 
     QList<Qt4ProFileNode *> profiles = qt4Project()->applicationProFiles();
     QSet<QString> paths;
diff --git a/src/plugins/madde/qt4maemotarget.h b/src/plugins/madde/qt4maemotarget.h
index d53f07c067d49c0a1110ba01a6461f516aed5b45..99a380b96803dfa992fe371d5c434e162e57a522 100644
--- a/src/plugins/madde/qt4maemotarget.h
+++ b/src/plugins/madde/qt4maemotarget.h
@@ -63,7 +63,7 @@ public:
     virtual ~AbstractQt4MaemoTarget();
 
     ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
-    void createApplicationProFiles();
+    void createApplicationProFiles(bool reparse);
     QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
     QList<ProjectExplorer::ToolChain *> possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const;
 
diff --git a/src/plugins/madde/qt4maemotargetfactory.cpp b/src/plugins/madde/qt4maemotargetfactory.cpp
index e2eb6b1d6816ea27b9a35161fe5657357fe42fc4..c44b082a79fa5ce80a16b5fc3c9f1682a38eefdb 100644
--- a/src/plugins/madde/qt4maemotargetfactory.cpp
+++ b/src/plugins/madde/qt4maemotargetfactory.cpp
@@ -216,7 +216,7 @@ ProjectExplorer::Target *Qt4MaemoTargetFactory::create(ProjectExplorer::Project
     foreach (const QString &deployConfigId, deployConfigIds) {
         target->addDeployConfiguration(target->createDeployConfiguration(deployConfigId));
     }
-    target->createApplicationProFiles();
+    target->createApplicationProFiles(false);
     if (target->runConfigurations().isEmpty())
         target->addRunConfiguration(new ProjectExplorer::CustomExecutableRunConfiguration(target));
     return target;
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.cpp
index 5ec565e53211a182ad5767b2822403492de8a9d8..1aca809649adc5d44d23d8121ea033af2956af24 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.cpp
@@ -65,9 +65,10 @@ ProjectExplorer::IBuildConfigurationFactory *Qt4DesktopTarget::buildConfiguratio
     return m_buildConfigurationFactory;
 }
 
-void Qt4DesktopTarget::createApplicationProFiles()
+void Qt4DesktopTarget::createApplicationProFiles(bool reparse)
 {
-    removeUnconfiguredCustomExectutableRunConfigurations();
+    if (!reparse)
+        removeUnconfiguredCustomExectutableRunConfigurations();
 
     // We use the list twice
     QList<Qt4ProFileNode *> profiles = qt4Project()->applicationProFiles();
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.h b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.h
index 34f42634d267694fa48f2c2703dae92e62f71432..c8966eccafb3e7a5c3ba01bc53e20fea5a6fc478 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.h
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.h
@@ -52,7 +52,7 @@ public:
 
     ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
 
-    void createApplicationProFiles();
+    void createApplicationProFiles(bool reparse);
     QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
 
     static QString defaultDisplayName();
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
index 952d32b7e2e41c0105f366aa8a45a3b355981092..d5428706cbf440ceb8df189a308f09618a5c09d9 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
@@ -185,7 +185,7 @@ ProjectExplorer::Target *Qt4DesktopTargetFactory::create(ProjectExplorer::Projec
 
     t->addDeployConfiguration(t->createDeployConfiguration(QLatin1String(ProjectExplorer::Constants::DEFAULT_DEPLOYCONFIGURATION_ID)));
 
-    t->createApplicationProFiles();
+    t->createApplicationProFiles(false);
 
     if (t->runConfigurations().isEmpty())
         t->addRunConfiguration(new ProjectExplorer::CustomExecutableRunConfiguration(t));
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.cpp
index 782bf3665ad8d6d43b6b0e650d67e96fcb55a73a..38543a5583c1c1c9b6154e7bbb6344f8a59d54fc 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.cpp
@@ -70,9 +70,10 @@ ProjectExplorer::IBuildConfigurationFactory *Qt4SimulatorTarget::buildConfigurat
     return m_buildConfigurationFactory;
 }
 
-void Qt4SimulatorTarget::createApplicationProFiles()
+void Qt4SimulatorTarget::createApplicationProFiles(bool reparse)
 {
-    removeUnconfiguredCustomExectutableRunConfigurations();
+    if (!reparse)
+        removeUnconfiguredCustomExectutableRunConfigurations();
 
     // We use the list twice
     QList<Qt4ProFileNode *> profiles = qt4Project()->applicationProFiles();
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.h b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.h
index afd9be5e79ee10c8eacab9004576b30cf3798ec4..da25739ea16cdf3a5fcf1279d90d476993994920 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.h
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.h
@@ -52,7 +52,7 @@ public:
 
     ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
 
-    void createApplicationProFiles();
+    void createApplicationProFiles(bool reparse);
     QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
 
     static QString defaultDisplayName();
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
index aaa2b8cb8e7b066d0ebfaa21a7deb76f0d8a45bc..79059cc9c0b68c9b2449f9ae1720434e0ecd311c 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
@@ -166,7 +166,7 @@ ProjectExplorer::Target *Qt4SimulatorTargetFactory::create(ProjectExplorer::Proj
 
     t->addDeployConfiguration(t->createDeployConfiguration(QLatin1String(ProjectExplorer::Constants::DEFAULT_DEPLOYCONFIGURATION_ID)));
 
-    t->createApplicationProFiles();
+    t->createApplicationProFiles(false);
 
     if (t->runConfigurations().isEmpty())
         t->addRunConfiguration(new ProjectExplorer::CustomExecutableRunConfiguration(t));
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp
index cc5774ca47ce29d644d129737788bb0f76854c59..5de15118a6361ab0e2e469f8d39dfc026626a078 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp
@@ -115,9 +115,10 @@ QList<ProjectExplorer::ToolChain *> Qt4SymbianTarget::possibleToolChains(Project
     return tmp;
 }
 
-void Qt4SymbianTarget::createApplicationProFiles()
+void Qt4SymbianTarget::createApplicationProFiles(bool reparse)
 {
-    removeUnconfiguredCustomExectutableRunConfigurations();
+    if (!reparse)
+        removeUnconfiguredCustomExectutableRunConfigurations();
 
     // We use the list twice
     QList<Qt4ProFileNode *> profiles = qt4Project()->applicationProFiles();
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h
index 37f919fb73fc84cfdd86e6c42182d8dd8c8137e1..89f95a3ff94933c12a699a8f11b6c2bddd5a5ab9 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.h
@@ -55,7 +55,7 @@ public:
 
     QList<ProjectExplorer::ToolChain *> possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const;
 
-    void createApplicationProFiles();
+    void createApplicationProFiles(bool reparse);
     virtual QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
 
     static QString defaultDisplayName(const QString &id);
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
index 1d63cec578da2456a87a6a3ae74d8a8e45c78b55..c99b2a0de1d0c4b6bbb095495ddaa8b10a1d96d9 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
@@ -233,7 +233,7 @@ ProjectExplorer::Target *Qt4SymbianTargetFactory::create(ProjectExplorer::Projec
 
     t->addDeployConfiguration(t->createDeployConfiguration(QLatin1String(S60_DEPLOYCONFIGURATION_ID)));
 
-    t->createApplicationProFiles();
+    t->createApplicationProFiles(false);
 
     if (t->runConfigurations().isEmpty())
         t->addRunConfiguration(new ProjectExplorer::CustomExecutableRunConfiguration(t));
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 119c60c186bd504297b200d6e8d75d6e8dd695c2..a8d021570cc00c6bf6898a001dff59a75b0f63b0 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -404,7 +404,7 @@ bool Qt4Project::fromMap(const QVariantMap &map)
     updateCodeModels();
 
     foreach (Target *t, targets())
-        static_cast<Qt4BaseTarget *>(t)->createApplicationProFiles();
+        static_cast<Qt4BaseTarget *>(t)->createApplicationProFiles(false);
 
     foreach (Target *t, targets())
         onAddedTarget(t);
@@ -818,7 +818,7 @@ void Qt4Project::decrementPendingEvaluateFutures()
             m_asyncUpdateState = Base;
             activeTarget()->activeQt4BuildConfiguration()->setEnabled(true);
             foreach (Target *t, targets())
-                static_cast<Qt4BaseTarget *>(t)->createApplicationProFiles();
+                static_cast<Qt4BaseTarget *>(t)->createApplicationProFiles(true);
             updateFileList();
             updateCodeModels();
             emit proParsingDone();
diff --git a/src/plugins/qt4projectmanager/qt4target.h b/src/plugins/qt4projectmanager/qt4target.h
index fefbb48b32410b60b5c1933b0309c335cd5f042b..2f5799cc8b5f13e1559a48b5888d90b2a9899859 100644
--- a/src/plugins/qt4projectmanager/qt4target.h
+++ b/src/plugins/qt4projectmanager/qt4target.h
@@ -87,7 +87,7 @@ public:
                                                     QString directory,
                                                     bool importing);
 
-    virtual void createApplicationProFiles() = 0;
+    virtual void createApplicationProFiles(bool reparse) = 0;
 
     virtual QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n) = 0;
 
diff --git a/src/plugins/remotelinux/embeddedlinuxtarget.cpp b/src/plugins/remotelinux/embeddedlinuxtarget.cpp
index 9d9d2c203f93a73d6b73abe5ab7bfc19b282c68e..307de153ddd276b55aed5cd48fa0047cb375a63d 100644
--- a/src/plugins/remotelinux/embeddedlinuxtarget.cpp
+++ b/src/plugins/remotelinux/embeddedlinuxtarget.cpp
@@ -81,9 +81,10 @@ Utils::FileName EmbeddedLinuxTarget::mkspec(const Qt4ProjectManager::Qt4BuildCon
    return version->mkspec();
 }
 
-void EmbeddedLinuxTarget::createApplicationProFiles()
+void EmbeddedLinuxTarget::createApplicationProFiles(bool reparse)
 {
-    removeUnconfiguredCustomExectutableRunConfigurations();
+    if (!reparse)
+        removeUnconfiguredCustomExectutableRunConfigurations();
 
     // We use the list twice
     QList<Qt4ProjectManager::Qt4ProFileNode *> profiles = qt4Project()->applicationProFiles();
diff --git a/src/plugins/remotelinux/embeddedlinuxtarget.h b/src/plugins/remotelinux/embeddedlinuxtarget.h
index 30ba63f31230d59af4c8fc6f0ee08c76b33d70eb..fbcc14a87fd8b0c3a184f3799bdcb3df3ac83466 100644
--- a/src/plugins/remotelinux/embeddedlinuxtarget.h
+++ b/src/plugins/remotelinux/embeddedlinuxtarget.h
@@ -51,7 +51,7 @@ public:
 
     ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
 
-    void createApplicationProFiles();
+    void createApplicationProFiles(bool reparse);
 
     QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
 
diff --git a/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp b/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp
index 068922232d9a39d517bea893e8a1f631aa4b52dd..6ee27cbe13c7c8aadd06327dad59a54fa801839d 100644
--- a/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp
+++ b/src/plugins/remotelinux/embeddedlinuxtargetfactory.cpp
@@ -165,7 +165,7 @@ ProjectExplorer::Target *EmbeddedLinuxTargetFactory::create(ProjectExplorer::Pro
                 t->createDeployConfiguration(
                     RemoteLinuxDeployConfigurationFactory::genericDeployConfigurationId()));
 
-    t->createApplicationProFiles();
+    t->createApplicationProFiles(false);
 
     if (t->runConfigurations().isEmpty())
         t->addRunConfiguration(new ProjectExplorer::CustomExecutableRunConfiguration(t));