diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index 61b70ef3565be5e58432391ff65c6277e9f039fa..96f5596d31f307740505ed23f877e4d1e2dc890f 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -807,16 +807,20 @@ QString QtVersionManager::findQMakeBinaryFromMakefile(const QString &directory)
                 QFileInfo qmake(r1.cap(1).trimmed());
                 QString qmakePath = qmake.filePath();
 #ifdef Q_OS_WIN
-                qmakePath = qmakePath.toLower();
                 if (!qmakePath.endsWith(QLatin1String(".exe")))
                     qmakePath.append(QLatin1String(".exe"));
 #endif
                 // Is qmake still installed?
-                if (QFile::exists(qmakePath))
+                QFileInfo fi(qmakePath);
+                if (fi.exists()) {
+                    qmakePath = fi.absoluteFilePath();
+#ifdef Q_OS_WIN
+                    qmakePath = qmakePath.toLower();
+#endif
                     return qmakePath;
+                }
             }
         }
-        makefile.close();
     }
     return QString();
 }