diff --git a/src/cfgrammar.c b/src/cfgrammar.c
index 36f2856f7c08a41fa4a297851fa17978cda7f73a..77e7ecad7ea1a70597a4c7c70ee21d9184a6c672 100644
--- a/src/cfgrammar.c
+++ b/src/cfgrammar.c
@@ -901,8 +901,8 @@ pprint_stringmap_elems(FILE *file, bool first, char *prefix, size_t n, char sep,
   if (map->epsilon_branch) {
     if (!first) {
       fputc(sep, file); 
-      first=false;
     }
+    first=false;
     if (n==0) {
       fputs("\"\"", file);
     } else {
@@ -920,8 +920,8 @@ pprint_stringmap_elems(FILE *file, bool first, char *prefix, size_t n, char sep,
   if (map->end_branch) {
     if (!first) {
       fputs(",\"", file); 
-      first=false;
     }
+    first=false;
     if (n>0) {
       fputs("\"\"", file);
     }