diff --git a/tests/include/test/psa_crypto_helpers.h b/tests/include/test/psa_crypto_helpers.h
index 4302345..bc2b016 100644
--- a/tests/include/test/psa_crypto_helpers.h
+++ b/tests/include/test/psa_crypto_helpers.h
@@ -276,15 +276,17 @@
         }                                                                  \
     }                                                                      \
     while( 0 )
-#else
-/* Define empty macros so that we can use them in the preamble and teardown
- * of every test function that uses PSA conditionally based on
- * MBEDTLS_PSA_CRYPTO_C. */
-#define PSA_INIT( ) ( (void) 0 )
-#define PSA_DONE( ) ( (void) 0 )
 
+#if !defined(MBEDTLS_MD_C)
+#define PSA_INIT_IF_NO_MD( ) PSA_INIT( )
+#define PSA_DONE_IF_NO_MD( ) PSA_DONE( )
+#endif
 #endif /* MBEDTLS_PSA_CRYPTO_C */
 
+#if defined(MBEDTLS_MD_C)
+#define PSA_INIT_IF_NO_MD( ) ( (void) 0 )
+#define PSA_DONE_IF_NO_MD( ) ( (void) 0 )
+#endif
 /** \def USE_PSA_INIT
  *
  * Call this macro to initialize the PSA subsystem if #MBEDTLS_USE_PSA_CRYPTO
diff --git a/tests/suites/test_suite_pkcs5.function b/tests/suites/test_suite_pkcs5.function
index e2347cc..fcbf9b1 100644
--- a/tests/suites/test_suite_pkcs5.function
+++ b/tests/suites/test_suite_pkcs5.function
@@ -14,14 +14,14 @@
 {
     unsigned char key[100];
 
-    PSA_INIT();
+    PSA_INIT_IF_NO_MD();
     TEST_ASSERT( mbedtls_pkcs5_pbkdf2_hmac_ext( hash, pw_str->x, pw_str->len,
                                                 salt_str->x, salt_str->len,
                                                 it_cnt, key_len, key ) == 0 );
 
     TEST_ASSERT( mbedtls_test_hexcmp( key, result_key_string->x,
                                       key_len, result_key_string->len ) == 0 );
-    PSA_DONE();
+    PSA_DONE_IF_NO_MD();
 }
 /* END_CASE */
 
@@ -33,7 +33,7 @@
     mbedtls_asn1_buf params;
     unsigned char *my_out = NULL;
 
-    PSA_INIT();
+    PSA_INIT_IF_NO_MD();
 
     params.tag = params_tag;
     params.p = params_hex->x;
@@ -50,7 +50,7 @@
 
 exit:
     mbedtls_free( my_out );
-    PSA_DONE();
+    PSA_DONE_IF_NO_MD();
 }
 /* END_CASE */
 
diff --git a/tests/suites/test_suite_pkparse.function b/tests/suites/test_suite_pkparse.function
index 1e003b9..8ca3aca 100644
--- a/tests/suites/test_suite_pkparse.function
+++ b/tests/suites/test_suite_pkparse.function
@@ -17,7 +17,7 @@
     int res;
     char *pwd = password;
 
-    PSA_INIT();
+    PSA_INIT_IF_NO_MD();
     mbedtls_pk_init( &ctx );
 
     if( strcmp( pwd, "NULL" ) == 0 )
@@ -38,7 +38,7 @@
 
 exit:
     mbedtls_pk_free( &ctx );
-    PSA_DONE();
+    PSA_DONE_IF_NO_MD();
 }
 /* END_CASE */
 
@@ -48,7 +48,7 @@
     mbedtls_pk_context ctx;
     int res;
 
-    PSA_INIT();
+    PSA_INIT_IF_NO_MD();
     mbedtls_pk_init( &ctx );
 
     res = mbedtls_pk_parse_public_keyfile( &ctx, key_file );
@@ -65,7 +65,7 @@
 
 exit:
     mbedtls_pk_free( &ctx );
-    PSA_DONE();
+    PSA_DONE_IF_NO_MD();
 }
 /* END_CASE */
 
