diff --git a/src/plugins/projectexplorer/projectwizardpage.cpp b/src/plugins/projectexplorer/projectwizardpage.cpp
index f7bcbda1192501cbf3f4978adb212d0557ee9763..7da0fe82100c0b9f1791795c3485eb2f2a284a7c 100644
--- a/src/plugins/projectexplorer/projectwizardpage.cpp
+++ b/src/plugins/projectexplorer/projectwizardpage.cpp
@@ -73,7 +73,7 @@ class BestNodeSelector
 {
 public:
     BestNodeSelector(const QString &commonDirectory, const QStringList &files);
-    void inspect(AddNewTree *tree);
+    void inspect(AddNewTree *tree, bool isContextNode);
     AddNewTree *bestChoice() const;
     bool deploys();
     QString deployingProjects() const;
@@ -102,7 +102,7 @@ BestNodeSelector::BestNodeSelector(const QString &commonDirectory, const QString
 // Otherwise consider their common path. Either a direct match on the directory
 // or the directory with the longest matching path (list containing"/project/subproject1"
 // matching common path "/project/subproject1/newuserpath").
-void BestNodeSelector::inspect(AddNewTree *tree)
+void BestNodeSelector::inspect(AddNewTree *tree, bool isContextNode)
 {
     FolderNode *node = tree->node();
     if (node->nodeType() == ProjectNodeType) {
@@ -115,7 +115,7 @@ void BestNodeSelector::inspect(AddNewTree *tree)
         return;
     const QString projectDirectory = ProjectExplorerPlugin::directoryFor(node);
     const int projectDirectorySize = projectDirectory.size();
-    if (!m_commonDirectory.startsWith(projectDirectory))
+    if (!m_commonDirectory.startsWith(projectDirectory) && !isContextNode)
         return;
     bool betterMatch = tree->priority() > 0
             && (projectDirectorySize > m_bestMatchLength
@@ -173,7 +173,7 @@ static inline AddNewTree *buildAddProjectTree(ProjectNode *root, const QString &
         if (projectPath.isEmpty() || root->canAddSubProject(projectPath)) {
             FolderNode::AddNewInformation info = root->addNewInformation(QStringList() << projectPath, contextNode);
             AddNewTree *item = new AddNewTree(root, children, info);
-            selector->inspect(item);
+            selector->inspect(item, root == contextNode);
             return item;
         }
     }
@@ -208,7 +208,7 @@ static inline AddNewTree *buildAddFilesTree(FolderNode *root, const QStringList
     if (list.contains(AddNewFile) && !list.contains(InheritedFromParent)) {
         FolderNode::AddNewInformation info = root->addNewInformation(files, contextNode);
         AddNewTree *item = new AddNewTree(root, children, info);
-        selector->inspect(item);
+        selector->inspect(item, root == contextNode);
         return item;
     }
     if (children.isEmpty())