diff --git a/src/las.c b/src/las.c
index 4b707e6b8d31ab63d74d118ca6b0efcd6879707c..2af997ac3dc03a850e924a4ccc68bb551f9f6bed 100644
--- a/src/las.c
+++ b/src/las.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: las.c,v 1.47 1998/01/29 00:30:34 hubbe Exp $");
+RCSID("$Id: las.c,v 1.48 1998/01/29 04:07:48 hubbe Exp $");
 
 #include "language.h"
 #include "interpret.h"
@@ -2233,7 +2233,11 @@ static struct svalue *is_stupid_func(node *n,
 
   n=CAR(n);
   if(!n || n->token != F_CONSTANT) return 0;
-  return &n->u.sval;
+
+  if((count_arguments(n->type) < 0) == !!vargs)
+    return &n->u.sval;
+
+  return 0;
 }
 
 int dooptcode(struct pike_string *name,