diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
index bc0bee6b8d33df5b66a7e86142cbe5c1828b345e..21fa44ede63bd20e0d45e1a420d50ed73e4cbd17 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
@@ -989,6 +989,20 @@ QtSupport::ProFileReader *QmakeProject::createProFileReader(const QmakeProFileNo
         m_qmakeGlobals->setCommandLineArguments(m_rootProjectNode->buildDir(), qmakeArgs);
 
         QtSupport::ProFileCacheManager::instance()->incRefCount();
+
+        // On ios, qmake is called recursively, and the second call with a different
+        // spec.
+        // macx-ios-clang just creates supporting makefiles, and to avoid being
+        // slow does not evaluate everything, and contains misleading information
+        // (that is never used).
+        // macx-xcode correctly evaluates the variables and generates the xcodeproject
+        // that is actually used to build the application.
+        //
+        // It is important to override the spec file only for the creator evaluator,
+        // and not the qmake buildstep used to build the app (as we use the makefiles).
+        const char IOSQT[] = "Qt4ProjectManager.QtVersion.Ios"; // from Ios::Constants
+        if (qtVersion->type() == QLatin1String(IOSQT))
+            m_qmakeGlobals->xqmakespec = QLatin1String("macx-xcode");
     }
     ++m_qmakeGlobalsRefCnt;