diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index 5439f6d..2b25e09 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -2852,7 +2852,7 @@
     if( ret != MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS )
     {
         ssl->handshake->async_in_progress = 0;
-        mbedtls_ssl_async_set_data( ssl, NULL );
+        mbedtls_ssl_set_async_operation_data( ssl, NULL );
     }
     MBEDTLS_SSL_DEBUG_RET( 2, "ssl_resume_server_key_exchange", ret );
     return( ret );
@@ -3406,7 +3406,7 @@
     if( ret != MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS )
     {
         ssl->handshake->async_in_progress = 0;
-        mbedtls_ssl_async_set_data( ssl, NULL );
+        mbedtls_ssl_set_async_operation_data( ssl, NULL );
     }
     MBEDTLS_SSL_DEBUG_RET( 2, "ssl_decrypt_encrypted_pms", ret );
     return( ret );
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 04f3458..3819b6f 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -6499,7 +6499,7 @@
     return( conf->p_async_config_data );
 }
 
-void *mbedtls_ssl_async_get_data( const mbedtls_ssl_context *ssl )
+void *mbedtls_ssl_get_async_operation_data( const mbedtls_ssl_context *ssl )
 {
     if( ssl->handshake == NULL )
         return( NULL );
@@ -6507,7 +6507,7 @@
         return( ssl->handshake->user_async_ctx );
 }
 
-void mbedtls_ssl_async_set_data( mbedtls_ssl_context *ssl,
+void mbedtls_ssl_set_async_operation_data( mbedtls_ssl_context *ssl,
                                  void *ctx )
 {
     if( ssl->handshake != NULL )
