diff --git a/src/plugins/projectexplorer/projecttree.cpp b/src/plugins/projectexplorer/projecttree.cpp
index fcaf5d817835c508897d59c9e2cc0aee3ea91335..5f4a0b780e8d525d0c9bb9b84a852cc0c78395cd 100644
--- a/src/plugins/projectexplorer/projecttree.cpp
+++ b/src/plugins/projectexplorer/projecttree.cpp
@@ -386,7 +386,9 @@ void ProjectTree::applyTreeManager(FolderNode *folder)
 bool ProjectTree::hasNode(const Node *node)
 {
     return Utils::contains(SessionManager::projects(), [node](const Project *p) {
-        return p && p->rootProjectNode() && p->rootProjectNode()->findNode([node](const Node *n) { return n == node; });
+        return p && p->rootProjectNode() && (
+                    p->containerNode() == node
+                    || p->rootProjectNode()->findNode([node](const Node *n) { return n == node; }));
     });
 }