diff --git a/libjava/java/math/BigInteger.java b/libjava/java/math/BigInteger.java
index 3a99de993aa787aecce8041da10bc4d9135d6768..e74c5e1c8ea999cec85b77af3d6f50bef7869183 100644
--- a/libjava/java/math/BigInteger.java
+++ b/libjava/java/math/BigInteger.java
@@ -1398,7 +1398,7 @@ public class BigInteger extends Number implements Comparable
 	    MPN.rshift0 (words, x.words, word_count, d_len, count);
 	    ival = d_len;
 	    if (neg)
-	      words[d_len-1] |= -1 << (32 - count);
+	      words[d_len-1] |= -2 << (31 - count);
 	  }
       }
   }