diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index 9b4ba73449de8bdd1ebf4a65f2ca2a6aa7fe1f61..5670cc939d8e0b0e7cf161d20665cb2e34ec6bb3 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -1308,6 +1308,20 @@ QStringList Qt4ProFileNode::variableValue(const Qt4Variable var) const
     return m_varValues.value(var);
 }
 
+void Qt4ProFileNode::emitProFileUpdated()
+{
+    foreach (NodesWatcher *watcher, watchers())
+        if (Qt4NodesWatcher *qt4Watcher = qobject_cast<Qt4NodesWatcher*>(watcher))
+            emit qt4Watcher->proFileUpdated(this, m_validParse);
+
+    foreach (ProjectNode *subNode, subProjectNodes()) {
+        if (Qt4ProFileNode *node = qobject_cast<Qt4ProFileNode *>(subNode)) {
+            node->emitProFileUpdated();
+        }
+    }
+}
+
+
 void Qt4ProFileNode::emitProFileInvalidated()
 {
     foreach (NodesWatcher *watcher, watchers())
diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h
index 222d18dfcc169a0cfe6d72a469aaa7079e2d3c6c..b31adea4bb5775e546a3e88bf56e4284772bdf4c 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.h
+++ b/src/plugins/qt4projectmanager/qt4nodes.h
@@ -299,6 +299,7 @@ public:
     void scheduleUpdate();
 
     void emitProFileInvalidated();
+    void emitProFileUpdated();
 
     bool validParse() const;
 
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 1e0555e596baf84d9e2f13f87c374dc29dc51c0d..7daee0592f754b491731660f0701e4ee21aabead 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -331,12 +331,6 @@ bool Qt4Project::fromMap(const QVariantMap &map)
 
     setSupportedTargetIds(QtVersionManager::instance()->supportedTargetIds());
 
-    // Setup Qt versions supported (== possible targets).
-    connect(this, SIGNAL(addedTarget(ProjectExplorer::Target*)),
-            this, SLOT(onAddedTarget(ProjectExplorer::Target*)));
-
-    connect(QtVersionManager::instance(), SIGNAL(qtVersionsChanged(QList<int>)),
-            this, SLOT(qtVersionsChanged()));
 
     connect(m_nodesWatcher, SIGNAL(proFileUpdated(Qt4ProjectManager::Internal::Qt4ProFileNode*,bool)),
             this, SIGNAL(proFileUpdated(Qt4ProjectManager::Internal::Qt4ProFileNode *,bool)));
@@ -344,6 +338,17 @@ bool Qt4Project::fromMap(const QVariantMap &map)
     connect(m_nodesWatcher, SIGNAL(proFileInvalidated(Qt4ProjectManager::Internal::Qt4ProFileNode*)),
             this, SIGNAL(proFileInvalidated(Qt4ProjectManager::Internal::Qt4ProFileNode*)));
 
+    // Now we emit update once :)
+    m_rootProjectNode->emitProFileUpdated();
+
+
+    // Setup Qt versions supported (== possible targets).
+    connect(this, SIGNAL(addedTarget(ProjectExplorer::Target*)),
+            this, SLOT(onAddedTarget(ProjectExplorer::Target*)));
+
+    connect(QtVersionManager::instance(), SIGNAL(qtVersionsChanged(QList<int>)),
+            this, SLOT(qtVersionsChanged()));
+
     connect(this, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)),
             this, SLOT(activeTargetWasChanged()));