diff --git a/library/bignum.c b/library/bignum.c
index 62cc98d..dd4eb9a 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -1560,6 +1560,7 @@
     int ret;
     size_t i, j;
     mbedtls_mpi TA, TB;
+    int result_is_zero = 0;
     MPI_VALIDATE_RET( X != NULL );
     MPI_VALIDATE_RET( A != NULL );
     MPI_VALIDATE_RET( B != NULL );
@@ -1572,10 +1573,14 @@
     for( i = A->n; i > 0; i-- )
         if( A->p[i - 1] != 0 )
             break;
+    if( i == 0 && ( A->n == 0 || A->p[0] == 0 ) )
+        result_is_zero = 1;
 
     for( j = B->n; j > 0; j-- )
         if( B->p[j - 1] != 0 )
             break;
+    if( j == 0 && ( B->n == 0 || B->p[0] == 0 ) )
+        result_is_zero = 1;
 
     MBEDTLS_MPI_CHK( mbedtls_mpi_grow( X, i + j ) );
     MBEDTLS_MPI_CHK( mbedtls_mpi_lset( X, 0 ) );
@@ -1587,11 +1592,8 @@
      * but does not eliminate side channels leaking the zero-ness. We do
      * need to take care to set the sign bit properly since the library does
      * not fully support an MPI object with a value of 0 and s == -1. */
-    if( ( i == 0 && ( A->n == 0 || A->p[0] == 0 ) ) ||
-        ( j == 0 && ( B->n == 0 || B->p[0] == 0 ) ) )
-    {
+    if( result_is_zero )
         X->s = 1;
-    }
     else
         X->s = A->s * B->s;
 
