diff --git a/library/bignum.c b/library/bignum.c
index 06445cc..f57b328 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -946,6 +946,11 @@
     return ret;
 }
 
+static int ct_bool_get_mask( unsigned int b )
+{
+    return ~( b - 1 );
+}
+
 /*
  * Compare signed values in constant time
  */
@@ -973,7 +978,7 @@
     sign_X = X->s;
     sign_Y = Y->s;
     cond = ( ( sign_X ^ sign_Y ) >> ( sizeof( unsigned int ) * 8 - 1 ) );
-    *ret = cond * X->s;
+    *ret = ct_bool_get_mask( cond ) & X->s;
     done = cond;
 
     for( i = X->n; i > 0; i-- )
@@ -986,8 +991,8 @@
          * }
          */
         cond = ct_lt_mpi_uint( Y->p[i - 1], X->p[i - 1] );
-        *ret |= ( cond * ( 1 - done ) ) * X->s;
-        done |= cond * ( 1 - done );
+        *ret |= ct_bool_get_mask( cond & ( 1 - done ) ) & X->s;
+        done |= cond & ( 1 - done );
 
         /*
          * if( ( X->p[i - 1] < Y->p[i - 1] ) && !done )
@@ -997,9 +1002,8 @@
          * }
          */
         cond = ct_lt_mpi_uint( X->p[i - 1], Y->p[i - 1] );
-        *ret |= ( cond * ( 1 - done ) ) * -X->s;
-        done |= cond * ( 1 - done );
-
+        *ret |= ct_bool_get_mask( cond & ( 1 - done ) ) & -X->s;
+        done |= cond & ( 1 - done );
     }
 
     return( 0 );
