diff --git a/Common/OpenFile.cpp b/Common/OpenFile.cpp
index e2106ec10672798412eaa59cfc259c8a276cbb46..87361b93398a835a172d2ca1d70fcfbb7ca2cd2e 100644
--- a/Common/OpenFile.cpp
+++ b/Common/OpenFile.cpp
@@ -188,7 +188,10 @@ int ParseFile(std::string fileName, bool close, bool warnIfMissing)
     }
   }
 
-  if(close) fclose(gmsh_yyin);
+  if(close){
+    gmsh_yyflush();
+    fclose(gmsh_yyin);
+  }
 
   gmsh_yyname = old_yyname;
   gmsh_yyin = old_yyin;