diff --git a/src/libs/cplusplus/SimpleLexer.cpp b/src/libs/cplusplus/SimpleLexer.cpp
index 4c2a78303632f481ce2a17cfbf308276010d1292..583f45da3892d8d3121008c88c1741c0380fa0cf 100644
--- a/src/libs/cplusplus/SimpleLexer.cpp
+++ b/src/libs/cplusplus/SimpleLexer.cpp
@@ -57,7 +57,8 @@ bool SimpleToken::isKeyword() const
 SimpleLexer::SimpleLexer()
     : _lastState(0),
       _skipComments(false),
-      _qtMocRunEnabled(true)
+      _qtMocRunEnabled(true),
+      _objcEnabled(false)
 { }
 
 SimpleLexer::~SimpleLexer()
@@ -73,6 +74,17 @@ void SimpleLexer::setQtMocRunEnabled(bool enabled)
     _qtMocRunEnabled = enabled;
 }
 
+
+bool SimpleLexer::objcEnabled() const
+{
+    return _objcEnabled;
+}
+
+void SimpleLexer::setObjcEnabled(bool onoff)
+{
+    _objcEnabled = onoff;
+}
+
 bool SimpleLexer::skipComments() const
 {
     return _skipComments;
@@ -93,6 +105,7 @@ QList<SimpleToken> SimpleLexer::operator()(const QString &text, int state)
 
     Lexer lex(firstChar, lastChar);
     lex.setQtMocRunEnabled(_qtMocRunEnabled);
+    lex.setObjcEnabled(_objcEnabled);
 
     if (! _skipComments)
         lex.setScanCommentTokens(true);
diff --git a/src/libs/cplusplus/SimpleLexer.h b/src/libs/cplusplus/SimpleLexer.h
index b4889fc92ea60d1064acd6b4c3db7e07982db8c4..fb64a66c0333b71c07ae88006991e2262378ffe2 100644
--- a/src/libs/cplusplus/SimpleLexer.h
+++ b/src/libs/cplusplus/SimpleLexer.h
@@ -91,6 +91,9 @@ public:
     bool qtMocRunEnabled() const;
     void setQtMocRunEnabled(bool enabled);
 
+    bool objcEnabled() const;
+    void setObjcEnabled(bool onoff);
+
     QList<SimpleToken> operator()(const QString &text, int state = 0);
 
     int state() const
@@ -100,6 +103,7 @@ private:
     int _lastState;
     bool _skipComments: 1;
     bool _qtMocRunEnabled: 1;
+    bool _objcEnabled: 1;
 };
 
 } // end of namespace CPlusPlus