diff --git a/src/operators.c b/src/operators.c
index 75f4dc8a4bc0c7a2f0db6f3770ec599cedfd4365..dbc6eb4b0a19a90ed31873a6657fb87330401c3c 100644
--- a/src/operators.c
+++ b/src/operators.c
@@ -5,7 +5,7 @@
 \*/
 #include <math.h>
 #include "global.h"
-RCSID("$Id: operators.c,v 1.20 1997/10/11 06:48:24 hubbe Exp $");
+RCSID("$Id: operators.c,v 1.21 1997/12/03 22:46:17 hubbe Exp $");
 #include "interpret.h"
 #include "svalue.h"
 #include "multiset.h"
@@ -1071,10 +1071,12 @@ void o_divide(void)
       error("Division by zero\n");
     sp--;
 
-    tmp=sp[-1].u.integer / sp[0].u.integer;
-    if(tmp<0)
-      if(tmp * sp[0].u.integer > sp[-1].u.integer)
+    tmp=sp[-1].u.integer/sp[0].u.integer;
+
+    if((sp[-1].u.integer<0) != (sp[0].u.integer<0))
+      if(tmp*sp[0].u.integer!=sp[-1].u.integer)
 	tmp--;
+
     sp[-1].u.integer=tmp;
     return;
   }
diff --git a/src/testsuite.in b/src/testsuite.in
index e80ab265a4ea3741e29ccb70d6abafe630490d8d..5fae3d71ab64c55ca6a10c54f4800767b0e01df9 100644
--- a/src/testsuite.in
+++ b/src/testsuite.in
@@ -1,4 +1,4 @@
-test_true([["$Id: testsuite.in,v 1.61 1997/11/13 22:13:29 hubbe Exp $"]])
+test_true([["$Id: testsuite.in,v 1.62 1997/12/03 22:46:18 hubbe Exp $"]])
 test_eq(1e1,10.0)
 test_eq(1E1,10.0)
 test_eq(1e+1,10.0)
@@ -631,6 +631,7 @@ test_eq(12/3,4)
 test_eq(13/3,4)
 test_eq(14/3,4)
 test_eq(15/3,5)
+test_eq(-2/4,-1)
 test_eq(-12/3,-4)
 test_eq(-13/3,-5)
 test_eq(-14/3,-5)
diff --git a/tutorial/tutorial.wmml b/tutorial/tutorial.wmml
index a921ac718f47e16fe6d6a50d07ca1c5a7a9ed060..bc40baad665ea7bf3adb8cc1a08d3de57b5277d8 100644
--- a/tutorial/tutorial.wmml
+++ b/tutorial/tutorial.wmml
@@ -2218,7 +2218,7 @@ the complete list of combinations of types you can use with these operators:
 </tr>
 
 <tr>
-<td><tt><i>int</i>&nbsp;/&nbsp;<i>int</i></tt></td><td>int</td><td>The right integer divided by the left integer rounded towards zero.</td>
+<td><tt><i>int</i>&nbsp;/&nbsp;<i>int</i></tt></td><td>int</td><td>The right integer divided by the left integer rounded towards minus infinity.</td>
 </tr>
 
 <tr>