diff --git a/include/mbedtls/check_config.h b/include/mbedtls/check_config.h
index 2a2f19c..4c92954 100644
--- a/include/mbedtls/check_config.h
+++ b/include/mbedtls/check_config.h
@@ -910,8 +910,8 @@
 #undef MBEDTLS_HASHES_ENABLED
 #endif /* MBEDTLS_MD_SINGLE_HASH */
 
-#if defined(MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION) && !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
-#error "MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION can only be used with MBEDTLS_SSL_KEEP_PEER_CERTIFICATE"
+#if defined(MBEDTLS_SSL_DELAYED_SERVER_CERT_VERIFICATION) && !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
+#error "MBEDTLS_SSL_DELAYED_SERVER_CERT_VERIFICATION can only be used with MBEDTLS_SSL_KEEP_PEER_CERTIFICATE"
 #endif
 
 
diff --git a/include/mbedtls/config.h b/include/mbedtls/config.h
index d9b6922..22eba11 100644
--- a/include/mbedtls/config.h
+++ b/include/mbedtls/config.h
@@ -41,13 +41,13 @@
  */
 
 /**
- * \def MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION
+ * \def MBEDTLS_SSL_DELAYED_SERVER_CERT_VERIFICATION
  *
  * Enable the delayed verification of server
  * certificates on the client side.
  *
  */
-//#define MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION
+//#define MBEDTLS_SSL_DELAYED_SERVER_CERT_VERIFICATION
 
 /**
  * \def MBEDTLS_HAVE_ASM
diff --git a/include/mbedtls/ssl_internal.h b/include/mbedtls/ssl_internal.h
index 5d8f6fd..441109d 100644
--- a/include/mbedtls/ssl_internal.h
+++ b/include/mbedtls/ssl_internal.h
@@ -1089,12 +1089,12 @@
                                 mbedtls_md_type_t md );
 #endif
 
-#if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED) && defined(MBEDTLS_DELAYED_SERVER_CERT_VERIFICATION)
+#if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED) && defined(MBEDTLS_SSL_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 */
+#endif /* MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED && MBEDTLS_SSL_DELAYED_SERVER_CERT_VERIFICATION */
 
 
 static inline int mbedtls_ssl_get_minor_ver( mbedtls_ssl_context const *ssl )
