diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function
index 56b8f61..eee6486 100644
--- a/tests/suites/test_suite_ecp.function
+++ b/tests/suites/test_suite_ecp.function
@@ -175,7 +175,7 @@
     TEST_ASSERT( mbedtls_mpi_mod_mpi( &R, &N, &grp.P ) == 0 );
 
     TEST_ASSERT( grp.modp( &N ) == 0 );
-    TEST_ASSERT( mbedtls_mpi_msb( &N ) <= grp.pbits + 3 );
+    TEST_ASSERT( mbedtls_mpi_bitlen( &N ) <= grp.pbits + 3 );
 
     /*
      * Use mod rather than addition/subtraction in case previous test fails
@@ -371,7 +371,7 @@
     TEST_ASSERT( ret == result );
     if( ret == 0)
     {
-        TEST_ASSERT( mbedtls_mpi_msb( &grp.P ) == (size_t) bits );
+        TEST_ASSERT( mbedtls_mpi_bitlen( &grp.P ) == (size_t) bits );
         TEST_ASSERT( *vbuf == 0x00 );
     }
 
diff --git a/tests/suites/test_suite_mpi.data b/tests/suites/test_suite_mpi.data
index 8fce55a..f838f3b 100644
--- a/tests/suites/test_suite_mpi.data
+++ b/tests/suites/test_suite_mpi.data
@@ -85,26 +85,26 @@
 Base test mbedtls_mpi_lsb #4
 mbedtls_mpi_lsb:16:"2000":13
 
-Base test mbedtls_mpi_msb #1
-mbedtls_mpi_msb:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":764
+Base test mbedtls_mpi_bitlen #1
+mbedtls_mpi_bitlen:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":764
 
-Base test mbedtls_mpi_msb #2
-mbedtls_mpi_msb:10:"24":5
+Base test mbedtls_mpi_bitlen #2
+mbedtls_mpi_bitlen:10:"24":5
 
-Base test mbedtls_mpi_msb #3
-mbedtls_mpi_msb:10:"1":1
+Base test mbedtls_mpi_bitlen #3
+mbedtls_mpi_bitlen:10:"1":1
 
-Base test mbedtls_mpi_msb #4
-mbedtls_mpi_msb:10:"15":4
+Base test mbedtls_mpi_bitlen #4
+mbedtls_mpi_bitlen:10:"15":4
 
-Base test mbedtls_mpi_msb #5
-mbedtls_mpi_msb:10:"16":5
+Base test mbedtls_mpi_bitlen #5
+mbedtls_mpi_bitlen:10:"16":5
 
-Base test mbedtls_mpi_msb #6
-mbedtls_mpi_msb:10:"10":4
+Base test mbedtls_mpi_bitlen #6
+mbedtls_mpi_bitlen:10:"10":4
 
-Base test mbedtls_mpi_msb #7
-mbedtls_mpi_msb:10:"0":0
+Base test mbedtls_mpi_bitlen #7
+mbedtls_mpi_bitlen:10:"0":0
 
 Base test mbedtls_mpi_cmp_int #1
 mbedtls_mpi_cmp_int:693:693:0
diff --git a/tests/suites/test_suite_mpi.function b/tests/suites/test_suite_mpi.function
index 2d68f8d..1308e56 100644
--- a/tests/suites/test_suite_mpi.function
+++ b/tests/suites/test_suite_mpi.function
@@ -18,7 +18,7 @@
 
     TEST_ASSERT( mbedtls_mpi_get_bit( &X, 42 ) == 0 );
     TEST_ASSERT( mbedtls_mpi_lsb( &X ) == 0 );
-    TEST_ASSERT( mbedtls_mpi_msb( &X ) == 0 );
+    TEST_ASSERT( mbedtls_mpi_bitlen( &X ) == 0 );
     TEST_ASSERT( mbedtls_mpi_size( &X ) == 0 );
 
 exit:
@@ -217,13 +217,13 @@
 /* END_CASE */
 
 /* BEGIN_CASE */
-void mbedtls_mpi_msb( int radix_X, char *input_X, int nr_bits )
+void mbedtls_mpi_bitlen( int radix_X, char *input_X, int nr_bits )
 {
     mbedtls_mpi X;
     mbedtls_mpi_init( &X );
 
     TEST_ASSERT( mbedtls_mpi_read_string( &X, radix_X, input_X ) == 0 );
-    TEST_ASSERT( mbedtls_mpi_msb( &X ) == (size_t) nr_bits );
+    TEST_ASSERT( mbedtls_mpi_bitlen( &X ) == (size_t) nr_bits );
 
 exit:
     mbedtls_mpi_free( &X );
@@ -789,7 +789,7 @@
 
     if( ref_ret == 0 )
     {
-        size_t actual_bits = mbedtls_mpi_msb( &X );
+        size_t actual_bits = mbedtls_mpi_bitlen( &X );
 
         TEST_ASSERT( actual_bits >= (size_t) bits );
         TEST_ASSERT( actual_bits <= (size_t) bits + 1 );
