diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 32a2b6f1caa50e579f65a104ecc7c3ee87152dda..05d5c94f619eb8ce7e91fcb4fabbce0bd201b8ea 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -2389,26 +2389,20 @@ bool ProFileEvaluator::Private::evaluateFile(const QString &fileName)
 
 bool ProFileEvaluator::Private::evaluateFeatureFile(const QString &fileName)
 {
-    QString fn;
+    QString fn = QLatin1Char('/') + fileName;
+    if (!fn.endsWith(QLatin1String(".prf")))
+        fn += QLatin1String(".prf");
     foreach (const QString &path, qmakeFeaturePaths()) {
-        QString fname = path + QLatin1Char('/') + fileName;
+        QString fname = path + fn;
         if (QFileInfo(fname).exists()) {
-            fn = fname;
-            break;
-        }
-        fname += QLatin1String(".prf");
-        if (QFileInfo(fname).exists()) {
-            fn = fname;
-            break;
+            bool cumulative = m_cumulative;
+            m_cumulative = false;
+            bool ok = evaluateFile(fname);
+            m_cumulative = cumulative;
+            return ok;
         }
     }
-    if (fn.isEmpty())
-        return false;
-    bool cumulative = m_cumulative;
-    m_cumulative = false;
-    bool ok = evaluateFile(fn);
-    m_cumulative = cumulative;
-    return ok;
+    return false;
 }
 
 QString ProFileEvaluator::Private::format(const char *fmt) const