diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index af97e7fd2f04b46bc2f9d3fa8780e0c091353da4..e21fbb1422a69e6c186d06ab3ca9269c838e7355 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -1196,7 +1196,9 @@ QStringList ProFileEvaluator::Private::qmakeMkspecPaths() const
         foreach (const QString &it, QString::fromLocal8Bit(qmakepath).split(m_option->dirlist_sep))
             ret << QDir::cleanPath(it) + concat;
 
-    ret << propertyValue(QLatin1String("QT_INSTALL_DATA")) + concat;
+    QString builtIn = propertyValue(QLatin1String("QT_INSTALL_DATA")) + concat;
+    if (!ret.contains(builtIn))
+        ret << builtIn;
 
     return ret;
 }
@@ -1284,6 +1286,8 @@ QStringList ProFileEvaluator::Private::qmakeFeaturePaths() const
         if (!feature_roots.at(i).endsWith((ushort)'/'))
             feature_roots[i].append((ushort)'/');
 
+    feature_roots.removeDuplicates();
+
     return feature_roots;
 }