diff --git a/library/ssl_client.c b/library/ssl_client.c
index bc3a461..dee56c9 100644
--- a/library/ssl_client.c
+++ b/library/ssl_client.c
@@ -277,11 +277,9 @@
 #if defined(PSA_WANT_ALG_FFDH)
         if ((mbedtls_ssl_conf_is_tls13_enabled(ssl->conf) &&
              mbedtls_ssl_tls13_named_group_is_dhe(*group_list))) {
-#if defined(MBEDTLS_DEBUG_C)
-            const char *ffdh_group = mbedtls_ssl_named_group_to_str(*group_list);
+
             MBEDTLS_SSL_DEBUG_MSG(3, ("NamedGroup: %s ( %x )",
-                                      ffdh_group, *group_list));
-#endif
+                                      mbedtls_ssl_named_group_to_str(*group_list), *group_list));
             MBEDTLS_SSL_CHK_BUF_PTR(p, end, 2);
             MBEDTLS_PUT_UINT16_BE(*group_list, p, 0);
             p += 2;
diff --git a/library/ssl_tls13_client.c b/library/ssl_tls13_client.c
index 17479b8..2fbcdd4 100644
--- a/library/ssl_tls13_client.c
+++ b/library/ssl_tls13_client.c
@@ -496,10 +496,8 @@
 #if defined(PSA_WANT_ALG_ECDH) || defined(PSA_WANT_ALG_FFDH)
     if (mbedtls_ssl_tls13_named_group_is_ecdhe(group) ||
         mbedtls_ssl_tls13_named_group_is_dhe(group)) {
-#if defined(MBEDTLS_DEBUG_C)
         MBEDTLS_SSL_DEBUG_MSG(2,
                               ("DHE group name: %s", mbedtls_ssl_named_group_to_str(group)));
-#endif
         ret = mbedtls_ssl_tls13_read_public_ecdhe_share(ssl, p, end - p);
         if (ret != 0) {
             return ret;
