diff --git a/library/ssl_misc.h b/library/ssl_misc.h
index a6439dc..8155fb7 100644
--- a/library/ssl_misc.h
+++ b/library/ssl_misc.h
@@ -1305,7 +1305,7 @@
  * \return                     PSA_SUCCESS on success or PSA_ERROR_NOT_SUPPORTED if
  *                             conversion is not supported.
  */
-psa_status_t mbedtls_cipher_to_psa( mbedtls_cipher_type_t mbedtls_cipher_type,
+psa_status_t tls_mbedtls_cipher_to_psa( mbedtls_cipher_type_t mbedtls_cipher_type,
                                     size_t taglen,
                                     psa_algorithm_t *alg,
                                     psa_key_type_t *key_type,
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 4266af4..0efdd3e 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -1009,14 +1009,14 @@
     }
 
 #if defined(MBEDTLS_USE_PSA_CRYPTO)
-    if( ( status = mbedtls_cipher_to_psa( cipher_info->type,
+    if( ( status = tls_mbedtls_cipher_to_psa( cipher_info->type,
                                  transform->taglen,
                                  &alg,
                                  &key_type,
                                  &key_bits ) ) != PSA_SUCCESS )
     {
         ret = psa_status_to_mbedtls( status );
-        MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_cipher_to_psa", ret );
+        MBEDTLS_SSL_DEBUG_RET( 1, "tls_mbedtls_cipher_to_psa", ret );
         goto end;
     }
 
@@ -4012,7 +4012,7 @@
     return( ret );
 }
 
-psa_status_t mbedtls_cipher_to_psa( mbedtls_cipher_type_t mbedtls_cipher_type,
+psa_status_t tls_mbedtls_cipher_to_psa( mbedtls_cipher_type_t mbedtls_cipher_type,
                                     size_t taglen,
                                     psa_algorithm_t *alg,
                                     psa_key_type_t *key_type,
diff --git a/library/ssl_tls13_keys.c b/library/ssl_tls13_keys.c
index a3c1fe5..5f0595b 100644
--- a/library/ssl_tls13_keys.c
+++ b/library/ssl_tls13_keys.c
@@ -930,13 +930,13 @@
     /*
      * Setup psa keys and alg
      */
-    if( ( status = mbedtls_cipher_to_psa( cipher_info->type,
+    if( ( status = tls_mbedtls_cipher_to_psa( cipher_info->type,
                                  transform->taglen,
                                  &alg,
                                  &key_type,
                                  &key_bits ) ) != PSA_SUCCESS )
     {
-        MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_cipher_to_psa", psa_status_to_mbedtls( status ) );
+        MBEDTLS_SSL_DEBUG_RET( 1, "tls_mbedtls_cipher_to_psa", psa_status_to_mbedtls( status ) );
         return( psa_status_to_mbedtls( status ) );
     }
 
