diff --git a/src/cfgrammar.h b/src/cfgrammar.h
index 58de76eb772b4ccf939c761d4f22693ec43f84f8..d2270ff08dbe296cf9d5d6d0152ccd307e77a019 100644
--- a/src/cfgrammar.h
+++ b/src/cfgrammar.h
@@ -50,7 +50,7 @@ void *h_stringmap_get(const HCFStringMap *m, const uint8_t *str, size_t n, bool
 bool h_stringmap_present(const HCFStringMap *m, const uint8_t *str, size_t n, bool end);
 bool h_stringmap_present_epsilon(const HCFStringMap *m);
 
-static inline void *h_stringmap_get_char(const HCFStringMap *m, const uint8_t c)
+static inline HCFStringMap *h_stringmap_get_char(const HCFStringMap *m, const uint8_t c)
  { return h_hashtable_get(m->char_branches, (void *)char_key(c)); }