diff --git a/src/module_support.c b/src/module_support.c
index a25d500b50c37a7822f2cf67370cb6db91f364ae..012628bdc40820172bfde67c91c80a80b2d315f1 100644
--- a/src/module_support.c
+++ b/src/module_support.c
@@ -6,7 +6,7 @@
 #include "pike_types.h"
 #include "error.h"
 
-RCSID("$Id: module_support.c,v 1.27 1999/09/19 21:01:49 grubba Exp $");
+RCSID("$Id: module_support.c,v 1.28 1999/11/08 18:13:50 hubbe Exp $");
 
 /* Checks that args_to_check arguments are OK.
  * Returns 1 if everything worked ok, zero otherwise.
@@ -44,11 +44,12 @@ static int va_check_args(struct svalue *s,
   if(!(res->expected & BIT_MANY))
   {
     res->expected = va_arg(arglist, unsigned int);
+    if(!res->expected || (res->expected & BIT_VOID)) return 1;
+    res->error_type = ERR_TOO_FEW;
+    return 0;
+  }else{
+    return 1;
   }
-
-  if(!res->expected || (res->expected & BIT_VOID)) return 1;
-  res->error_type = ERR_TOO_FEW;
-  return 0;
 }
 
 /* Returns the number of the first bad argument,