diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index b89aba251322a11b0039de2353296e7f4a4468a1..682dd18d8d2df5138b54f8b8affef08692edb82e 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -121,7 +121,7 @@ ProjectTreeWidget::ProjectTreeWidget(QWidget *parent)
           m_model(0),
           m_filterProjectsAction(0),
           m_autoSync(false),
-          m_currentItemLocked(false)
+          m_currentItemLocked(0)
 {
     m_model = new FlatModel(m_explorer->session()->sessionNode(), this);
     NodesWatcher *watcher = new NodesWatcher(this);
@@ -251,9 +251,13 @@ void ProjectTreeWidget::setCurrentItem(Node *node, Project *project)
         qDebug() << "ProjectTreeWidget::setCurrentItem(" << (project ? project->displayName() : "0")
                  << ", " <<  (node ? node->path() : "0") << ")";
     if (m_currentItemLocked) {
-        m_currentItemLocked = false;
-        return;
+        if (m_currentItemLocked == node) {
+            m_currentItemLocked = 0;
+            return;
+        }
+        m_currentItemLocked = 0;
     }
+
     if (!project) {
         return;
     }
@@ -290,11 +294,14 @@ void ProjectTreeWidget::showContextMenu(const QPoint &pos)
 
 void ProjectTreeWidget::handleProjectAdded(ProjectExplorer::Project *project)
 {
+    // We disable auto-synchronization for the current node so that the project
+    // is selected until another file is opened
+    m_currentItemLocked = m_model->nodeForIndex(m_view->currentIndex());
+
     Node *node = project->rootProjectNode();
     QModelIndex idx = m_model->indexForNode(node);
     m_view->setExpanded(idx, true);
     m_view->setCurrentIndex(idx);
-    m_currentItemLocked = true;
 }
 
 void ProjectTreeWidget::startupProjectChanged(ProjectExplorer::Project *project)
diff --git a/src/plugins/projectexplorer/projecttreewidget.h b/src/plugins/projectexplorer/projecttreewidget.h
index 564a85de63d397d1672c8876e68a2c36bf1f85b5..9c8e07fe60bc1e35392a11f166827457a34f4e31 100644
--- a/src/plugins/projectexplorer/projecttreewidget.h
+++ b/src/plugins/projectexplorer/projecttreewidget.h
@@ -89,7 +89,7 @@ private:
     QModelIndex m_subIndex;
     QString m_modelId;
     bool m_autoSync;
-    bool m_currentItemLocked;
+    Node *m_currentItemLocked;
     friend class ProjectTreeWidgetFactory;
 };