diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index e2ed24cadc0fa4eea10ce6758e128e0f7e6d86ff..1a33bbf21527c2fa28e81d932da343ccaaf03e01 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -691,17 +691,10 @@ void Qt4ProFileNode::update()
 
     Qt4PriFileNode::update(fileForCurrentProject, reader);
 
-    QString qmakeCxx = reader->value(QLatin1String("QMAKE_CXX"));
-    if (qmakeCxx.isEmpty()) {
-        // macx-xcode mkspec resets the value of QMAKE_CXX.
-        // Unfortunately, we need a valid QMAKE_CXX to configure the parser.
-        qmakeCxx = QLatin1String("c++");
-    }
-
     // update other variables
     QHash<Qt4Variable, QStringList> newVarValues;
 
-    newVarValues[CxxCompilerVar] << qmakeCxx;
+    newVarValues[CxxCompilerVar] << reader->value(QLatin1String("QMAKE_CXX"));
     newVarValues[DefinesVar] = reader->values(QLatin1String("DEFINES"));
     newVarValues[IncludePathVar] = includePaths(reader);
     newVarValues[UiDirVar] = uiDirPaths(reader);
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index ac30added53d636957bce0315c7c0a204ab99e37..b5eb66d909b900fa63248f78fdf45488596ec907 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -420,6 +420,13 @@ void Qt4Project::updateCodeModel()
     if (t == QtVersion::MinGW || t == QtVersion::OTHER) {
         QStringList list = rootProjectNode()->variableValue(Internal::CxxCompilerVar);
         QString qmake_cxx = list.isEmpty() ? QString::null : list.first();
+
+        if (qmake_cxx.isEmpty()) {
+            // macx-xcode mkspec resets the value of QMAKE_CXX.
+            // Unfortunately, we need a valid QMAKE_CXX to configure the parser.
+            qmake_cxx = QLatin1String("cc");
+        }
+
         qmake_cxx = environment(activeBuildConfiguration()).searchInPath(qmake_cxx);
         m_preproc.setGcc(qmake_cxx);
         predefinedMacros = m_preproc.predefinedMacros();