diff --git a/ecc-curve.h b/ecc-curve.h
index f3fd63e4ddc3d160095213e2b54fe0fc696b4c15..c08479ab87651fb12579559b71b85946c20a6490 100644
--- a/ecc-curve.h
+++ b/ecc-curve.h
@@ -41,6 +41,15 @@ extern "C" {
 /* The contents of this struct is internal. */
 struct ecc_curve;
 
+/* FIXME: Rename with leading underscore. Due to ABI subtleties,
+   applications should not refer to these directly, but use the below
+   accessor functions. */
+extern const struct ecc_curve nettle_secp_192r1;
+extern const struct ecc_curve nettle_secp_224r1;
+extern const struct ecc_curve nettle_secp_256r1;
+extern const struct ecc_curve nettle_secp_384r1;
+extern const struct ecc_curve nettle_secp_521r1;
+
 #ifdef __GNUC__
 #define NETTLE_PURE __attribute__((pure))
 #else
@@ -55,13 +64,6 @@ const struct ecc_curve * NETTLE_PURE nettle_get_secp_521r1(void);
 
 #undef NETTLE_PURE
 
-/* For backwards compatibility */
-#define nettle_secp_192r1 (*nettle_get_secp_192r1())
-#define nettle_secp_224r1 (*nettle_get_secp_224r1())
-#define nettle_secp_256r1 (*nettle_get_secp_256r1())
-#define nettle_secp_384r1 (*nettle_get_secp_384r1())
-#define nettle_secp_521r1 (*nettle_get_secp_521r1())
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/ecc-internal.h b/ecc-internal.h
index 4b45199f42b90ec3b37963911e134b6d27f96827..ce1e34fb2117bc861272ab5159dd101cc20d6c0f 100644
--- a/ecc-internal.h
+++ b/ecc-internal.h
@@ -73,21 +73,6 @@
 #define sec_modinv _nettle_sec_modinv
 #define curve25519_eh_to_x _nettle_curve25519_eh_to_x
 
-/* FIXME: Rename with leading underscore, but keep current name (and
-   size!) for now, for ABI compatibility with nettle-3.1, soname
-   libhogweed.so.4. */
-#undef nettle_secp_192r1
-#undef nettle_secp_224r1
-#undef nettle_secp_256r1
-#undef nettle_secp_384r1
-#undef nettle_secp_521r1
-
-extern const struct ecc_curve nettle_secp_192r1;
-extern const struct ecc_curve nettle_secp_224r1;
-extern const struct ecc_curve nettle_secp_256r1;
-extern const struct ecc_curve nettle_secp_384r1;
-extern const struct ecc_curve nettle_secp_521r1;
-
 /* Keep this structure internal for now. It's misnamed (since it's
    really implementing the equivalent twisted Edwards curve, with
    different coordinates). And we're not quite ready to provide