diff --git a/tests/suites/test_suite_md.function b/tests/suites/test_suite_md.function
index 384b408..7a10891 100644
--- a/tests/suites/test_suite_md.function
+++ b/tests/suites/test_suite_md.function
@@ -1,6 +1,8 @@
 /* BEGIN_HEADER */
 #include "mbedtls/md.h"
 #include "../library/md_psa.h"
+#include "mbedtls/oid.h"
+#include "mbedtls/asn1.h"
 /* END_HEADER */
 
 /* BEGIN_DEPENDENCIES
@@ -30,12 +32,23 @@
         TEST_EQUAL(0, mbedtls_md_finish(&ctx, out));
         mbedtls_md_free(&ctx);
 
-#if defined MBEDTLS_PSA_CRYPTO_C
+#if defined(MBEDTLS_PSA_CRYPTO_C)
         /* Ensure that we can convert to and from a psa_algorithm_t */
         psa_algorithm_t p = mbedtls_md_psa_alg_from_type(*md_type_ptr);
         TEST_ASSERT(p != PSA_ALG_NONE);
         TEST_EQUAL(*md_type_ptr, mbedtls_md_type_from_psa_alg(p));
 #endif
+
+#if defined(MBEDTLS_OID_C)
+        mbedtls_asn1_buf asn1;
+        /* Check that we have an OID definition */
+        TEST_EQUAL(mbedtls_oid_get_oid_by_md((mbedtls_md_type_t) *md_type_ptr,
+                                             (const char **) &asn1.p, &asn1.len), 0);
+        /* Check that this OID definition maps back to the correct mbedtls_md_type_t */
+        mbedtls_md_type_t m;
+        TEST_EQUAL(mbedtls_oid_get_md_alg(&asn1, &m), 0);
+        TEST_EQUAL(m, *md_type_ptr);
+#endif
     }
 
 exit:
