diff --git a/crypto/ec/ec.c b/crypto/ec/ec.c
index ad47bb5..9a4a838 100644
--- a/crypto/ec/ec.c
+++ b/crypto/ec/ec.c
@@ -426,7 +426,7 @@
   OPENSSL_free(group);
 }
 
-int EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src) {
+int ec_group_copy(EC_GROUP *dest, const EC_GROUP *src) {
   if (dest->meth->group_copy == 0) {
     OPENSSL_PUT_ERROR(EC, EC_GROUP_copy, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
     return 0;
@@ -482,7 +482,7 @@
   if (t == NULL) {
     return NULL;
   }
-  if (!EC_GROUP_copy(t, a)) {
+  if (!ec_group_copy(t, a)) {
     goto err;
   }
 
diff --git a/crypto/ec/internal.h b/crypto/ec/internal.h
index da116c4..17f63ae 100644
--- a/crypto/ec/internal.h
+++ b/crypto/ec/internal.h
@@ -250,6 +250,7 @@
 } /* EC_POINT */;
 
 EC_GROUP *ec_group_new(const EC_METHOD *meth);
+int ec_group_copy(EC_GROUP *dest, const EC_GROUP *src);
 
 int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
                 size_t num, const EC_POINT *points[], const BIGNUM *scalars[],
diff --git a/include/openssl/ec.h b/include/openssl/ec.h
index 318ce0f..511cb2d 100644
--- a/include/openssl/ec.h
+++ b/include/openssl/ec.h
@@ -107,10 +107,6 @@
 /* EC_GROUP_free frees |group| and the data that it points to. */
 OPENSSL_EXPORT void EC_GROUP_free(EC_GROUP *group);
 
-/* EC_GROUP_copy sets |*dest| equal to |*src|. It returns one on success and
- * zero otherwise. */
-OPENSSL_EXPORT int EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src);
-
 /* EC_GROUP_dup returns a fresh |EC_GROUP| which is equal to |a| or NULL on
  * error. */
 OPENSSL_EXPORT EC_GROUP *EC_GROUP_dup(const EC_GROUP *a);
