diff --git a/library/ssl_misc.h b/library/ssl_misc.h
index 1a3217c..f07f9d4 100644
--- a/library/ssl_misc.h
+++ b/library/ssl_misc.h
@@ -2297,7 +2297,7 @@
                                    const unsigned char *end, size_t *out_len );
 
 #if defined(MBEDTLS_TEST_HOOKS)
-int ssl_check_dtls_clihlo_cookie(
+int mbedtls_ssl_check_dtls_clihlo_cookie(
                            mbedtls_ssl_context *ssl,
                            const unsigned char *cli_id, size_t cli_id_len,
                            const unsigned char *in, size_t in_len,
diff --git a/library/ssl_msg.c b/library/ssl_msg.c
index ee6a01b..681e431 100644
--- a/library/ssl_msg.c
+++ b/library/ssl_msg.c
@@ -3149,10 +3149,8 @@
  *   return MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED
  * - otherwise return a specific error code
  */
-#if !defined(MBEDTLS_TEST_HOOKS)
-static
-#endif
-int ssl_check_dtls_clihlo_cookie(
+MBEDTLS_STATIC_TESTABLE
+int mbedtls_ssl_check_dtls_clihlo_cookie(
                            mbedtls_ssl_context *ssl,
                            const unsigned char *cli_id, size_t cli_id_len,
                            const unsigned char *in, size_t in_len,
@@ -3324,13 +3322,13 @@
         return( 0 );
     }
 
-    ret = ssl_check_dtls_clihlo_cookie(
+    ret = mbedtls_ssl_check_dtls_clihlo_cookie(
             ssl,
             ssl->cli_id, ssl->cli_id_len,
             ssl->in_buf, ssl->in_left,
             ssl->out_buf, MBEDTLS_SSL_OUT_CONTENT_LEN, &len );
 
-    MBEDTLS_SSL_DEBUG_RET( 2, "ssl_check_dtls_clihlo_cookie", ret );
+    MBEDTLS_SSL_DEBUG_RET( 2, "mbedtls_ssl_check_dtls_clihlo_cookie", ret );
 
     if( ret == MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED )
     {
diff --git a/tests/suites/test_suite_ssl.function b/tests/suites/test_suite_ssl.function
index 51d57a0..67880da 100644
--- a/tests/suites/test_suite_ssl.function
+++ b/tests/suites/test_suite_ssl.function
@@ -5521,11 +5521,12 @@
                 0 );
 
     TEST_EQUAL( mbedtls_ssl_setup( &ssl, &conf ), 0 );
-    TEST_EQUAL( ssl_check_dtls_clihlo_cookie( &ssl, ssl.cli_id, ssl.cli_id_len,
-                                              cookie->x, cookie->len,
-                                              ssl.out_buf,
-                                              MBEDTLS_SSL_OUT_CONTENT_LEN,
-                                              &len ),
+    TEST_EQUAL( mbedtls_ssl_check_dtls_clihlo_cookie( &ssl, ssl.cli_id,
+                                                  ssl.cli_id_len,
+                                                  cookie->x, cookie->len,
+                                                  ssl.out_buf,
+                                                  MBEDTLS_SSL_OUT_CONTENT_LEN,
+                                                  &len ),
                 exp_ret );
 
     mbedtls_ssl_free( &ssl );
