diff --git a/src/cfgrammar.c b/src/cfgrammar.c
index 1d8071232ffef1ffefda91df545a32620a11ff70..f9ece036213b2487b764782d65e010e5a6aeaf69 100644
--- a/src/cfgrammar.c
+++ b/src/cfgrammar.c
@@ -616,6 +616,8 @@ const HStringMap *h_follow(size_t k, HCFGrammar *g, const HCFChoice *x)
   }
   assert(x_found || x == g->start);        // no orphan non-terminals
 
+  h_hashtable_del(g->follow[k], x);
+
   return ret;
 }