diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index 0c1f16b5801423144b6fc6af825d7ab5d0e3859a..347f4999d26d2eb2e8d1bf62138552ec802ff726 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -1228,7 +1228,7 @@ void Preprocessor::processDefine(TokenIterator firstToken, TokenIterator lastTok
     } else {
         // ### make me fast!
         const char *startOfDefinition = startOfToken(*tk);
-        const char *endOfDefinition = startOfToken(*lastToken);
+        const char *endOfDefinition = endOfToken(lastToken[- 1]);
         QByteArray definition(startOfDefinition,
                               endOfDefinition - startOfDefinition);
         definition.replace("\\\n", " ");