diff --git a/crypto/evp/kdf_lib.c b/crypto/evp/kdf_lib.c
index f07771605..186368b0e 100644
--- a/crypto/evp/kdf_lib.c
+++ b/crypto/evp/kdf_lib.c
@@ -79,7 +79,7 @@ EVP_KDF_CTX *EVP_KDF_CTX_new_id(int id)
         return NULL;
     }
 
-    if (kmeth->new != NULL && (ret->impl = kmeth->new()) == NULL) {
+    if (kmeth->new_impl != NULL && (ret->impl = kmeth->new_impl()) == NULL) {
         EVP_KDF_CTX_free(ret);
         return NULL;
     }
diff --git a/include/crypto/evp.h b/include/crypto/evp.h
index b562a37a1..e7eec905d 100644
--- a/include/crypto/evp.h
+++ b/include/crypto/evp.h
@@ -137,7 +137,7 @@ extern const EVP_PKEY_METHOD eia3_pkey_meth;
 typedef struct evp_kdf_impl_st EVP_KDF_IMPL;
 typedef struct {
     int type;
-    EVP_KDF_IMPL *(*new) (void);
+    EVP_KDF_IMPL *(*new_impl) (void);
     void (*free) (EVP_KDF_IMPL *impl);
     void (*reset) (EVP_KDF_IMPL *impl);
     int (*ctrl) (EVP_KDF_IMPL *impl, int cmd, va_list args);