diff --git a/library/pkwrite.c b/library/pkwrite.c
index 468df14..2ef723f 100644
--- a/library/pkwrite.c
+++ b/library/pkwrite.c
@@ -395,7 +395,7 @@
     MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_len(p, buf, len));
     MBEDTLS_ASN1_CHK_ADD(len, mbedtls_asn1_write_tag(p, buf, MBEDTLS_ASN1_OCTET_STRING));
 
-    grp_id = mbedtls_pk_get_group_id(pk);
+    grp_id = mbedtls_pk_get_ec_group_id(pk);
     /* privateKeyAlgorithm */
     if ((ret = mbedtls_oid_get_oid_by_ec_grp_algid(grp_id, &oid, &oid_len)) != 0) {
         return ret;
@@ -452,7 +452,7 @@
     len += pub_len;
 
     /* parameters */
-    grp_id = mbedtls_pk_get_group_id(pk);
+    grp_id = mbedtls_pk_get_ec_group_id(pk);
     MBEDTLS_ASN1_CHK_ADD(par_len, pk_write_ec_param(p, buf, grp_id));
     MBEDTLS_ASN1_CHK_ADD(par_len, mbedtls_asn1_write_len(p, buf, par_len));
     MBEDTLS_ASN1_CHK_ADD(par_len, mbedtls_asn1_write_tag(p, buf,
@@ -600,7 +600,7 @@
     pk_type = mbedtls_pk_get_type(key);
 #if defined(MBEDTLS_PK_HAVE_ECC_KEYS)
     if (pk_type == MBEDTLS_PK_ECKEY) {
-        ec_grp_id = mbedtls_pk_get_group_id(key);
+        ec_grp_id = mbedtls_pk_get_ec_group_id(key);
     }
 #endif /* MBEDTLS_PK_HAVE_ECC_KEYS */
 #if defined(MBEDTLS_USE_PSA_CRYPTO)
@@ -609,7 +609,7 @@
 #if defined(MBEDTLS_PK_HAVE_ECC_KEYS)
         if (PSA_KEY_TYPE_IS_ECC(opaque_key_type)) {
             pk_type = MBEDTLS_PK_ECKEY;
-            ec_grp_id = mbedtls_pk_get_group_id(key);
+            ec_grp_id = mbedtls_pk_get_ec_group_id(key);
         } else
 #endif /* MBEDTLS_PK_HAVE_ECC_KEYS */
         if (PSA_KEY_TYPE_IS_RSA(opaque_key_type)) {
