diff --git a/src/cfgrammar.c b/src/cfgrammar.c
index beae165fc83c8111383263309dc7ca6f2d308b19..6cd87ee574d2819ec7a54f6b0d140add1c52209e 100644
--- a/src/cfgrammar.c
+++ b/src/cfgrammar.c
@@ -896,8 +896,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 {
@@ -915,8 +915,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);
     }