diff --git a/tests/suites/test_suite_mpi.data b/tests/suites/test_suite_mpi.data
index efcb060..89aa4d5 100644
--- a/tests/suites/test_suite_mpi.data
+++ b/tests/suites/test_suite_mpi.data
@@ -175,38 +175,38 @@
 Base test mbedtls_mpi_cmp_mpi (Mixed values) #6
 mbedtls_mpi_cmp_mpi:10:"-2":10:"31231231289798":-1
 
-Base test mbedtls_mpi_cmp_mpi_ct #1
-mbedtls_mpi_cmp_mpi_ct:1:10:"693":1:10:"693":0:0
+Base test mbedtls_mpi_lt_mpi_ct #1
+mbedtls_mpi_lt_mpi_ct:1:10:"693":1:10:"693":0:0
 
-Base test mbedtls_mpi_cmp_mpi_ct #2
-mbedtls_mpi_cmp_mpi_ct:1:10:"693":1:10:"692":1:0
+Base test mbedtls_mpi_lt_mpi_ct #2
+mbedtls_mpi_lt_mpi_ct:1:10:"693":1:10:"692":0:0
 
-Base test mbedtls_mpi_cmp_mpi_ct #3
-mbedtls_mpi_cmp_mpi_ct:1:10:"693":1:10:"694":-1:0
+Base test mbedtls_mpi_lt_mpi_ct #3
+mbedtls_mpi_lt_mpi_ct:1:10:"693":1:10:"694":1:0
 
-Base test mbedtls_mpi_cmp_mpi_ct (Negative values) #1
-mbedtls_mpi_cmp_mpi_ct:1:10:"-2":1:10:"-2":0:0
+Base test mbedtls_mpi_lt_mpi_ct (Negative values) #1
+mbedtls_mpi_lt_mpi_ct:1:10:"-2":1:10:"-2":0:0
 
-Base test mbedtls_mpi_cmp_mpi_ct (Negative values) #2
-mbedtls_mpi_cmp_mpi_ct:1:10:"-2":1:10:"-3":1:0
+Base test mbedtls_mpi_lt_mpi_ct (Negative values) #2
+mbedtls_mpi_lt_mpi_ct:1:10:"-2":1:10:"-3":0:0
 
-Base test mbedtls_mpi_cmp_mpi_ct (Negative values) #3
-mbedtls_mpi_cmp_mpi_ct:1:10:"-2":1:10:"-1":-1:0
+Base test mbedtls_mpi_lt_mpi_ct (Negative values) #3
+mbedtls_mpi_lt_mpi_ct:1:10:"-2":1:10:"-1":1:0
 
-Base test mbedtls_mpi_cmp_mpi_ct (Mixed values) #4
-mbedtls_mpi_cmp_mpi_ct:1:10:"-3":1:10:"2":-1:0
+Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #4
+mbedtls_mpi_lt_mpi_ct:1:10:"-3":1:10:"2":1:0
 
-Base test mbedtls_mpi_cmp_mpi_ct (Mixed values) #5
-mbedtls_mpi_cmp_mpi_ct:1:10:"2":1:10:"-3":1:0
+Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #5
+mbedtls_mpi_lt_mpi_ct:1:10:"2":1:10:"-3":0:0
 
-Base test mbedtls_mpi_cmp_mpi_ct (Mixed values) #6
-mbedtls_mpi_cmp_mpi_ct:2:10:"-2":2:10:"31231231289798":-1:0
+Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #6
+mbedtls_mpi_lt_mpi_ct:2:10:"-2":2:10:"31231231289798":1:0
 
-Base test mbedtls_mpi_cmp_mpi_ct (X is longer in storage) #7
-mbedtls_mpi_cmp_mpi_ct:3:10:"693":2:10:"693":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
+Base test mbedtls_mpi_lt_mpi_ct (X is longer in storage) #7
+mbedtls_mpi_lt_mpi_ct:3:10:"693":2:10:"693":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
 
-Base test mbedtls_mpi_cmp_mpi_ct (Y is longer in storage) #8
-mbedtls_mpi_cmp_mpi_ct:3:10:"693":4:10:"693":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
+Base test mbedtls_mpi_lt_mpi_ct (Y is longer in storage) #8
+mbedtls_mpi_lt_mpi_ct:3:10:"693":4:10:"693":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
 
 Base test mbedtls_mpi_cmp_abs #1
 mbedtls_mpi_cmp_abs:10:"693":10:"693":0
diff --git a/tests/suites/test_suite_mpi.function b/tests/suites/test_suite_mpi.function
index 97fd7b9..617f461 100644
--- a/tests/suites/test_suite_mpi.function
+++ b/tests/suites/test_suite_mpi.function
@@ -588,10 +588,12 @@
 /* END_CASE */
 
 /* BEGIN_CASE */
-void mbedtls_mpi_cmp_mpi_ct( int size_X, int radix_X, char * input_X, int size_Y,
-                             int radix_Y, char * input_Y, int input_ret, int input_err )
+void mbedtls_mpi_lt_mpi_ct( int size_X, int radix_X, char * input_X,
+                            int size_Y, int radix_Y, char * input_Y,
+                            int input_ret, int input_err )
 {
-    int ret;
+    unsigned ret;
+    unsigned input_uret = input_ret;
     mbedtls_mpi X, Y;
     mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y );
 
@@ -601,9 +603,9 @@
     mbedtls_mpi_grow( &X, size_X );
     mbedtls_mpi_grow( &Y, size_Y );
 
-    TEST_ASSERT( mbedtls_mpi_cmp_mpi_ct( &X, &Y, &ret ) == input_err );
+    TEST_ASSERT( mbedtls_mpi_lt_mpi_ct( &X, &Y, &ret ) == input_err );
     if( input_err == 0 )
-        TEST_ASSERT( ret == input_ret );
+        TEST_ASSERT( ret == input_uret );
 
 exit:
     mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y );
