diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp
index dae5f1a835c49b5bc3549403629ad1505f884f32..79348e44bd842bb93600f72637e237c86c7960c3 100644
--- a/src/plugins/clangcodemodel/clangutils.cpp
+++ b/src/plugins/clangcodemodel/clangutils.cpp
@@ -113,6 +113,11 @@ static QStringList buildDefines(const QByteArray &defines, bool toolchainDefines
         if (def.isEmpty())
             continue;
 
+        // This is a quick fix for QTCREATORBUG-11501.
+        // TODO: do a proper fix, see QTCREATORBUG-11709.
+        if (def.startsWith("#define __cplusplus"))
+            continue;
+
         // TODO: verify if we can pass compiler-defined macros when also passing -undef.
         if (toolchainDefines) {
             //### FIXME: the next 3 check shouldn't be needed: we probably don't want to get the compiler-defined defines in.