diff --git a/src/shared/cplusplus/Lexer.cpp b/src/shared/cplusplus/Lexer.cpp
index d38aa036cddbc53c7314353207118101dde8d225..3a23e4d6f5c93f4321ecd795e85227fb318132e0 100644
--- a/src/shared/cplusplus/Lexer.cpp
+++ b/src/shared/cplusplus/Lexer.cpp
@@ -49,6 +49,7 @@
 #include "Lexer.h"
 #include "Control.h"
 #include "TranslationUnit.h"
+#include "Literals.h"
 #include <cctype>
 #include <cassert>
 
@@ -255,7 +256,9 @@ void Lexer::scan_helper(Token *tok)
         const char *yytext = _currentChar;
 
         while (_yychar && _yychar != quote) {
-            if (_yychar != '\\')
+            if (_yychar == '\n')
+                break;
+            else if (_yychar != '\\')
                 yyinp();
             else {
                 yyinp(); // skip `\\'