diff --git a/src/add_efun.c b/src/add_efun.c
index 4ecc6d4e3dad798be343bac0e23b2318a1833c8f..dae55bb0740b14fe9f7647c22fd7d449b673fcf5 100644
--- a/src/add_efun.c
+++ b/src/add_efun.c
@@ -106,6 +106,7 @@ void add_efun(char *name, c_fun fun, char *type, INT16 flags)
 static void push_efun_entry(struct hash_entry *h)
 {
   struct efun *f;
+  check_stack(1);
   f=BASEOF(h, efun, link);
   push_string(f->link.s);
   f->link.s->refs++;