diff --git a/preprocessor/DynareFlex.ll b/preprocessor/DynareFlex.ll
index 793de8c0e6e7a51fe88bb01eef157d800cfc4e12..994aaa4217c2e6c30c40116757e63e977f6f8b12 100644
--- a/preprocessor/DynareFlex.ll
+++ b/preprocessor/DynareFlex.ll
@@ -851,6 +851,8 @@ DATE -?[0-9]+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4][0-9]|5[0-2
   string token;
   yylval->vector_string_val = new vector<string *>;
 
+  bool dynare_statement = true;
+
   while(getline(ss, token, ','))
     if (driver.symbol_exists_and_is_not_modfile_local_or_external_function(token.c_str()))
       yylval->vector_string_val->push_back(new string(token));
@@ -862,9 +864,10 @@ DATE -?[0-9]+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4][0-9]|5[0-2
         delete yylval->vector_string_val;
         BEGIN NATIVE;
         yyless(0);
+        dynare_statement = false;
         break;
       }
-  if (yylval->vector_string_val->size() > 0)
+  if (dynare_statement)
     {
       BEGIN DYNARE_STATEMENT;
       return token::SYMBOL_VEC;