diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index dba11df71302e09b1ab1a91606eaa96eb6537687..e94a9ca5d9207291438a7bec42977260a00bd162 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -2130,7 +2130,7 @@ bool Parser::parseForeachStatement(StatementAST *&node)
 
             blockErrors(blocked);
             rewind(startOfTypeSpecifier);
-            parseExpression(ast->expression);
+            parseAssignmentExpression(ast->expression);
         }
 
         blockErrors(blocked);