diff --git a/library/bignum_mod.c b/library/bignum_mod.c
index f07307c..7f7c715 100644
--- a/library/bignum_mod.c
+++ b/library/bignum_mod.c
@@ -207,7 +207,7 @@
     /* Do our best to check if r and m have been set up */
     if ( r->limbs == 0 || m->limbs == 0 )
         goto cleanup;
-    if ( r->limbs > m->limbs )
+    if ( r->limbs != m->limbs )
         goto cleanup;
 
     ret = mbedtls_mpi_mod_raw_read( r->p, m, buf, buflen, ext_rep );
@@ -235,7 +235,7 @@
     /* Do our best to check if r and m have been set up */
     if ( r->limbs == 0 || m->limbs == 0 )
         goto cleanup;
-    if ( r->limbs > m->limbs )
+    if ( r->limbs != m->limbs )
         goto cleanup;
 
     if ( m->int_rep == MBEDTLS_MPI_MOD_REP_MONTGOMERY)
diff --git a/tests/suites/test_suite_bignum_mod.function b/tests/suites/test_suite_bignum_mod.function
index 8945968..7042ed3 100644
--- a/tests/suites/test_suite_bignum_mod.function
+++ b/tests/suites/test_suite_bignum_mod.function
@@ -148,13 +148,23 @@
     TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
                 mbedtls_mpi_mod_write( &rn, &m, buf->x, buf->len, endian ) );
 
-    /* Fail for r_limbs > m->limbs */
-    r.limbs = m.limbs + 1;
+    /* Fail for r_limbs < m->limbs */
+    r.limbs--;
+    TEST_ASSERT( r.limbs < m.limbs );
     TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
                 mbedtls_mpi_mod_read( &r, &m, buf->x, buf->len, endian ) );
     TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
                 mbedtls_mpi_mod_write( &r, &m, buf->x, buf->len, endian ) );
-    r.limbs = r_limbs;
+    r.limbs++;
+
+    /* Fail for r_limbs > m->limbs */
+    m.limbs--;
+    TEST_ASSERT( r.limbs > m.limbs );
+    TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
+                mbedtls_mpi_mod_read( &r, &m, buf->x, buf->len, endian ) );
+    TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
+                mbedtls_mpi_mod_write( &r, &m, buf->x, buf->len, endian ) );
+    m.limbs++;
 
     /* Test the read */
     TEST_EQUAL( ret, mbedtls_mpi_mod_read( &r, &m, buf->x, buf->len, endian ) );
@@ -163,7 +173,9 @@
     if ( r.limbs > 1 && ret == 0 )
         TEST_EQUAL( MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL,
                         mbedtls_mpi_mod_write( &r, &m, buf->x, 1, endian ) );
+
 exit:
+    mbedtls_mpi_mod_residue_release( &r );
     mbedtls_mpi_mod_modulus_free( &m );
     mbedtls_free( N );
     mbedtls_free( R );
