diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index 3693b5abe841d3b98c7b3bdd7c35cbedfae20e33..1080bad90a6d24e3da28b3a27d63518609aecc30 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -719,6 +719,7 @@ void Qt4ProFileNode::update()
     newVarValues[IncludePathVar] = includePaths(reader);
     newVarValues[UiDirVar] = uiDirPaths(reader);
     newVarValues[MocDirVar] = mocDirPaths(reader);
+    newVarValues[PkgConfigVar] = reader->values(QLatin1String("PKGCONFIG"));
 
     if (m_varValues != newVarValues) {
         m_varValues = newVarValues;
diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h
index 9200ac101bd0565952cf26a0e5e6b87a2d21b32c..f5599e90b61c944a4be5ee014150072d3e7926f7 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.h
+++ b/src/plugins/qt4projectmanager/qt4nodes.h
@@ -99,7 +99,8 @@ enum Qt4Variable {
     IncludePathVar,
     CxxCompilerVar,
     UiDirVar,
-    MocDirVar
+    MocDirVar,
+    PkgConfigVar
 };
 
 class Qt4PriFileNode;
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 6063992b6edf267b6bf21c311814ee9a1dae9de0..a03e12b1fd1036622a4e04059e2be4d52b1ae711 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -527,13 +527,27 @@ void Qt4Project::updateCodeModel()
         }
 
         const QStringList proIncludePaths = pro->variableValue(IncludePathVar);
-        foreach (QString includePath, proIncludePaths) {
+        foreach (const QString &includePath, proIncludePaths) {
             if (!allIncludePaths.contains(includePath))
                 allIncludePaths.append(includePath);
             if (!info.includes.contains(includePath))
                 info.includes.append(includePath);
         }
 
+        { // Pkg Config support
+            QStringList pkgConfig = pro->variableValue(PkgConfigVar);
+            if (!pkgConfig.isEmpty()) {
+                pkgConfig.prepend("--cflags-only-I");
+                QProcess process;
+                process.start("pkg-config", pkgConfig);
+                process.waitForFinished();
+                QString result = process.readAllStandardOutput();
+                foreach(const QString &part, result.trimmed().split(' ', QString::SkipEmptyParts)) {
+                    info.includes.append(part.mid(2)); // Chop off "-I"
+                }
+            }
+        }
+
         // Add mkspec directory
         info.includes.append(qtVersion(activeBuildConfiguration())->mkspecPath());