diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h
index 9b9e3dd3cd553945193d8c219d3f2a431e09f8e4..18b991e9419911a19a2e37eb4fa0384058cecb18 100644
--- a/src/plugins/cpptools/cppmodelmanagerinterface.h
+++ b/src/plugins/cpptools/cppmodelmanagerinterface.h
@@ -76,6 +76,7 @@ public:
         QStringList sourceFiles;
         QStringList includePaths;
         QStringList frameworkPaths;
+        QStringList precompiledHeaders;
     };
 
     class WorkingCopy
diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index 987e1ec58d07ca01529df8697a65fccee09658b9..c613b57ce30a9e0c202658aeff15fa88e6b85838 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -938,6 +938,11 @@ void Qt4ProFileNode::update()
     newVarValues[UiDirVar] = uiDirPaths(reader);
     newVarValues[MocDirVar] = mocDirPaths(reader);
     newVarValues[PkgConfigVar] = reader->values(QLatin1String("PKGCONFIG"));
+    newVarValues[PrecompiledHeaderVar] =
+            reader->absoluteFileValues(QLatin1String("PRECOMPILED_HEADER"),
+                                       m_projectDir,
+                                       QStringList() << m_projectDir,
+                                       0);
 
     if (m_varValues != newVarValues) {
         m_varValues = newVarValues;
diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h
index 7eb524966269a1a73489cdc6ff9c4736878cab90..5c6a73f76b8a0ee2c7a46c96f139b6e8112bf742 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.h
+++ b/src/plugins/qt4projectmanager/qt4nodes.h
@@ -97,7 +97,8 @@ enum Qt4Variable {
     IncludePathVar,
     UiDirVar,
     MocDirVar,
-    PkgConfigVar
+    PkgConfigVar,
+    PrecompiledHeaderVar
 };
 
 class Qt4PriFileNode;
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 7b929299c594e460b60a27b48f0eb31d07c5395d..f22d63e6760388c9f0cc9bf43cbd137301efcb80 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -507,6 +507,7 @@ void Qt4Project::updateCodeModel()
     QByteArray definedMacros = predefinedMacros;
     QStringList allIncludePaths = predefinedIncludePaths;
     QStringList allFrameworkPaths = predefinedFrameworkPaths;
+    QStringList allPrecompileHeaders;
 
 #ifdef Q_OS_MAC
     const QString newQtLibsPath = versionInfo.value(QLatin1String("QT_INSTALL_LIBS"));
@@ -529,6 +530,10 @@ void Qt4Project::updateCodeModel()
         info.includes = predefinedIncludePaths;
         info.frameworkPaths = predefinedFrameworkPaths;
 
+        info.precompiledHeader = pro->variableValue(PrecompiledHeaderVar);
+
+        allPrecompileHeaders.append(info.precompiledHeader);
+
         // Add custom defines
         foreach (const QString def, pro->variableValue(DefinesVar)) {
             definedMacros += "#define ";
@@ -623,10 +628,13 @@ void Qt4Project::updateCodeModel()
 
     CppTools::CppModelManagerInterface::ProjectInfo pinfo = modelmanager->projectInfo(this);
 
-    if (pinfo.defines == predefinedMacros             &&
-            pinfo.includePaths == allIncludePaths     &&
-            pinfo.frameworkPaths == allFrameworkPaths &&
-            pinfo.sourceFiles == files) {
+    //qDebug()<<"Using precompiled header"<<allPrecompileHeaders;
+
+    if (pinfo.defines == predefinedMacros
+        && pinfo.includePaths == allIncludePaths
+        && pinfo.frameworkPaths == allFrameworkPaths
+        && pinfo.sourceFiles == files
+        && pinfo.precompiledHeaders == allPrecompileHeaders) {
         // Nothing to update...
     } else {
         if (pinfo.defines != predefinedMacros         ||
@@ -641,6 +649,7 @@ void Qt4Project::updateCodeModel()
         pinfo.includePaths = allIncludePaths;
         pinfo.frameworkPaths = allFrameworkPaths;
         pinfo.sourceFiles = files;
+        pinfo.precompiledHeaders = allPrecompileHeaders;
 
         modelmanager->updateProjectInfo(pinfo);
         modelmanager->updateSourceFiles(pinfo.sourceFiles);
diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h
index 25883457223ebd08021341151f52f8c927932f70..9be7d5dd29a6b26b4894b55b54cdbb7dbbb55c94 100644
--- a/src/plugins/qt4projectmanager/qt4project.h
+++ b/src/plugins/qt4projectmanager/qt4project.h
@@ -82,6 +82,7 @@ namespace Internal {
         QByteArray defines;
         QStringList includes;
         QStringList frameworkPaths;
+        QStringList precompiledHeader;
     };
 }