diff --git a/src/plugins/cpptools/ModelManagerInterface.cpp b/src/plugins/cpptools/ModelManagerInterface.cpp
index 136fe200f0ada7c8791df1fb039394ece8ab3ec7..73cb0589c2f3406b714792ba21e6376a449da32b 100644
--- a/src/plugins/cpptools/ModelManagerInterface.cpp
+++ b/src/plugins/cpptools/ModelManagerInterface.cpp
@@ -32,6 +32,20 @@
 
 #include <QtCore/QSet>
 
+/*!
+    \enum CPlusPlus::CppModelManagerInterface::QtVersion
+    Allows C++ parser engine to inject headers or change inner settings as
+    needed to parse Qt language extensions for concrete major Qt version
+    \value UnknownQt
+           Parser may choose any policy
+    \value NoQt
+           Parser must not use special tricks, because it parses non-qt project
+    \value Qt4
+           Parser may enable tricks for Qt v4.x
+    \value Qt5
+           Parser may enable tricks for Qt v5.x
+*/
+
 using namespace CPlusPlus;
 
 static CppModelManagerInterface *g_instance = 0;
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 50686f76b45dd40497fdf07a9a4bf70ed0b20ba8..3f84c53493d1df7dc8067a83170e96993e3532e6 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -588,7 +588,11 @@ void Qt4Project::updateCppCodeModel()
     QStringList allFiles;
     foreach (Qt4ProFileNode *pro, proFiles) {
         ProjectPart::Ptr part(new ProjectPart);
-        part->qtVersion = qtVersionForPart;
+
+        if (pro->variableValue(ConfigVar).contains(QLatin1String("qt")))
+            part->qtVersion = qtVersionForPart;
+        else
+            part->qtVersion = ProjectPart::NoQt;
 
         QStringList cxxflags = pro->variableValue(CppFlagsVar);