diff --git a/src/libs/qmljs/qmljsscanner.cpp b/src/libs/qmljs/qmljsscanner.cpp
index 992084f113b5d8e9c7d89fbeaa0ecacae735889b..1a853e5f44321c790bd0a892e8d644d6f811292b 100644
--- a/src/libs/qmljs/qmljsscanner.cpp
+++ b/src/libs/qmljs/qmljsscanner.cpp
@@ -266,6 +266,16 @@ QList<Token> Scanner::operator()(const QString &text, int startState)
             tokens.append(Token(index++, 1, Token::Comma));
             break;
 
+        case '+':
+        case '-':
+            if (la == ch) {
+                tokens.append(Token(index, 2, Token::Delimiter));
+                index += 2;
+            } else {
+                tokens.append(Token(index++, 1, Token::Delimiter));
+            }
+            break;
+
         default:
             if (ch.isSpace()) {
                 do {