diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 666c2cca7d97ee7579e34518978ada27beec1529..1b9968a7747180eecb4fc0f12fdbd0aad1d9c108 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -2771,6 +2771,12 @@ QString pathOrDirectoryFor(Node *node, bool dir)
                 list << f->path() + QLatin1Char('/');
             location = Utils::commonPath(list);
         }
+
+        QFileInfo fi(location);
+        while ((!fi.exists() || !fi.isDir())
+               && !fi.isRoot())
+            fi.setFile(fi.absolutePath());
+        location = fi.absoluteFilePath();
     } else {
         QFileInfo fi(path);
         // remove any /suffixes, which e.g. ResourceNode uses