diff --git a/include/mbedtls/ssl_internal.h b/include/mbedtls/ssl_internal.h
index 6f1613f..97c00e2 100644
--- a/include/mbedtls/ssl_internal.h
+++ b/include/mbedtls/ssl_internal.h
@@ -1090,11 +1090,11 @@
 #endif
 
 #if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED) && defined(MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION)
-int ssl_parse_delayed_certificate_verify( mbedtls_ssl_context *ssl,
-                                         int authmode,
-                                         mbedtls_x509_crt *chain,
-                                         void *rs_ctx );
-#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED && MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION */
+int mbedtls_ssl_parse_delayed_certificate_verify( mbedtls_ssl_context *ssl,
+                                                  int authmode,
+                                                  mbedtls_x509_crt *chain,
+                                                  void *rs_ctx );
+#endif /* MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED && MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION */
 
 
 static inline int mbedtls_ssl_get_minor_ver( mbedtls_ssl_context const *ssl )
diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index 5ed06d3..1234543 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -4349,8 +4349,8 @@
 
            MBEDTLS_SSL_DEBUG_MSG( 3, ( "execute delayed server certificate verification" ) );
 
-           ret = ssl_parse_delayed_certificate_verify( ssl, authmode,
-                                                       chain, rs_ctx );
+           ret = mbedtls_ssl_parse_delayed_certificate_verify( ssl, authmode,
+                                                               chain, rs_ctx );
            if( ret != 0 )
                break;
 #endif /* MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION */
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 0a013ca..4761155 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -7988,13 +7988,13 @@
 
 
 #if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED) && defined(MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION)
-/* ssl_parse_delayed_certificate_verify() defines a wrapper around ssl_parse_certificate_verify
+/* mbedtls_ssl_parse_delayed_certificate_verify() defines a wrapper around ssl_parse_certificate_verify
  * to call it in ssl_cli.c rather than purely internal to ssl_tls.c.
  */
-int ssl_parse_delayed_certificate_verify( mbedtls_ssl_context *ssl,
-                                         int authmode,
-                                         mbedtls_x509_crt *chain,
-                                         void *rs_ctx )
+int mbedtls_ssl_parse_delayed_certificate_verify( mbedtls_ssl_context *ssl,
+                                                  int authmode,
+                                                  mbedtls_x509_crt *chain,
+                                                  void *rs_ctx )
 {
 
     return( ssl_parse_certificate_verify( ssl,
