diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 6584f503ad8702448d7bf356e4e8c999b5fce331..bb7d5b69f7db4ca229fb56e6770ec7f06b91e039 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -989,8 +989,7 @@ ProItem::ProItemReturn ProFileEvaluator::Private::visitBeginProFile(ProFile * pr
                         qmake_cache = dir.filePath(QLatin1String(".qmake.cache"));
                         if (QFile::exists(qmake_cache))
                             break;
-                        dir.cdUp();
-                        if (dir.isRoot()) {
+                        if (!dir.cdUp() || dir.isRoot()) {
                             qmake_cache.clear();
                             break;
                         }