diff --git a/bin/mktestsuite b/bin/mktestsuite
index 9c778d33b9c7e6160cfe687012dc0f7426521610..dee0356fa8c6f1d5011276067f8fd96b9acd49de 100755
--- a/bin/mktestsuite
+++ b/bin/mktestsuite
@@ -143,8 +143,11 @@ define([[test_cmp3]],[[
 test_cmp($1,$2)
 test_cmp($2,$3)
 test_cmp($1,$3)
+
  test_true(`<($1,$2,$3))
+test_false(!`<($1,$2,$3))
 test_false(`<($1,$3,$2))
+ test_true(!`<($1,$3,$2))
 test_false(`<($2,$3,$1))
 test_false(`<($2,$1,$3))
 test_false(`<($3,$1,$2))
@@ -152,9 +155,11 @@ test_false(`<($3,$2,$1))
 test_false(`<($3,$2,$2,$1))
 
  test_true(`<=($1,$2,$3))
+test_false(!`<=($1,$2,$3))
 test_false(`<=($1,$3,$2))
 test_false(`<=($2,$3,$1))
 test_false(`<=($2,$1,$3))
+ test_true(!`<=($2,$1,$3))
 test_false(`<=($3,$1,$2))
 test_false(`<=($3,$2,$1))
  test_true(`<=($1,$1,$2,$2,$3,$3))
@@ -172,8 +177,10 @@ test_false(`>=($1,$3,$2))
 test_false(`>=($2,$3,$1))
 test_false(`>=($2,$1,$3))
 test_false(`>=($3,$1,$2))
+ test_true(!`>=($3,$1,$2))
  test_true(`>=($3,$2,$1))
  test_true(`>=($3,$3,$2,$2,$1,$1))
+test_false(!`>=($3,$3,$2,$2,$1,$1))
 
 test_equal(min($2,$1,$3), $1)
 test_equal(max($2,$1,$3), $3)
diff --git a/src/operators.c b/src/operators.c
index b81fc0ebb97fee09f06ec676c2f9e157bd7a3c02..cc9a80143307ed6f76c9d903db0e4878f7d3a75f 100644
--- a/src/operators.c
+++ b/src/operators.c
@@ -6,7 +6,7 @@
 /**/
 #include "global.h"
 #include <math.h>
-RCSID("$Id: operators.c,v 1.111 2000/10/15 14:19:24 grubba Exp $");
+RCSID("$Id: operators.c,v 1.112 2000/11/12 04:02:43 hubbe Exp $");
 #include "interpret.h"
 #include "svalue.h"
 #include "multiset.h"
@@ -544,6 +544,7 @@ static node *optimize_not(node *n)
     if((more_args=is_call_to(*first_arg, X)))	\
     {						\
       node *tmp=*more_args;			\
+      if(count_args(*more_args) > 2) return 0;  \
       ADD_NODE_REF(*more_args);			\
       return mkopernode(Y,tmp,0);		\
     } } while(0)