diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 0c01d49f1a6bc0eb36f9a36067884420e5943028..91fc60c3c38e5842adc48d4f3283ad233f26cf9b 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -648,6 +648,7 @@ void Qt4Project::update()
         qDebug()<<"State is now Base";
     m_asyncUpdateState = Base;
     activeTarget()->activeQt4BuildConfiguration()->setEnabled(true);
+    emit proParsingDone();
 }
 
 void Qt4Project::scheduleAsyncUpdate(Qt4ProFileNode *node)
@@ -793,14 +794,15 @@ void Qt4Project::decrementPendingEvaluateFutures()
             m_asyncUpdateTimer.start();
         } else  if (m_asyncUpdateState != ShuttingDown){
             // After being done, we need to call:
+            m_asyncUpdateState = Base;
             activeTarget()->activeQt4BuildConfiguration()->setEnabled(true);
             foreach (Target *t, targets())
                 static_cast<Qt4BaseTarget *>(t)->createApplicationProFiles();
             updateFileList();
             updateCodeModels();
+            emit proParsingDone();
             if (debug)
                 qDebug()<<"  Setting state to Base";
-            m_asyncUpdateState = Base;
         }
     }
 }
diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h
index 51007abaac09aaeeef129fc6381cfa6b274a1c8a..f9533b36bfa549e2a84076e9db4adb4e353c2c08 100644
--- a/src/plugins/qt4projectmanager/qt4project.h
+++ b/src/plugins/qt4projectmanager/qt4project.h
@@ -137,6 +137,7 @@ public:
     void unwatchFolders(const QStringList &l, Qt4PriFileNode *node);
 
 signals:
+    void proParsingDone();
     void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *node, bool, bool);
     void buildDirectoryInitialized();
     void fromMapFinished();