diff --git a/src/builtin_functions.c b/src/builtin_functions.c
index 6b7659c5766b57d7b78e27c8a6179c9512c09de2..5628d0a22a0462775d913299a170a356af145c88 100644
--- a/src/builtin_functions.c
+++ b/src/builtin_functions.c
@@ -10205,7 +10205,7 @@ void init_builtin_efuns(void)
 
 
   /* function(:int) */
-  ADD_EFUN("gc", f_gc, tFunc(tMix, tInt), OPT_SIDE_EFFECT);
+  ADD_EFUN("gc", f_gc, tFunc(tOr(tMix, tVoid), tInt), OPT_SIDE_EFFECT);
 
   /* function(:string) */
   ADD_EFUN("version", f_version,tFunc(tNone,tStr), OPT_TRY_OPTIMIZE);