diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c
index 7920ae8..36f1cd5 100644
--- a/crypto/ec/ec_asn1.c
+++ b/crypto/ec/ec_asn1.c
@@ -106,6 +106,8 @@
   ASN1_INTEGER *cofactor;
 } ECPARAMETERS;
 
+DECLARE_ASN1_ALLOC_FUNCTIONS(ECPARAMETERS);
+
 ASN1_SEQUENCE(ECPARAMETERS) = {
     ASN1_SIMPLE(ECPARAMETERS, version, LONG),
     ASN1_SIMPLE(ECPARAMETERS, fieldID, X9_62_FIELDID),
@@ -115,7 +117,6 @@
     ASN1_OPT(ECPARAMETERS, cofactor, ASN1_INTEGER)
 } ASN1_SEQUENCE_END(ECPARAMETERS);
 
-DECLARE_ASN1_ALLOC_FUNCTIONS(ECPARAMETERS);
 IMPLEMENT_ASN1_ALLOC_FUNCTIONS(ECPARAMETERS);
 
 typedef struct ecpk_parameters_st {
@@ -134,15 +135,19 @@
   ASN1_BIT_STRING *publicKey;
 } EC_PRIVATEKEY;
 
+DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS);
+DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS);
+
 ASN1_CHOICE(ECPKPARAMETERS) = {
     ASN1_SIMPLE(ECPKPARAMETERS, value.named_curve, ASN1_OBJECT),
     ASN1_SIMPLE(ECPKPARAMETERS, value.parameters, ECPARAMETERS),
 } ASN1_CHOICE_END(ECPKPARAMETERS);
 
-DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS);
-DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS);
 IMPLEMENT_ASN1_FUNCTIONS_const(ECPKPARAMETERS);
 
+DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY);
+DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY);
+
 ASN1_SEQUENCE(EC_PRIVATEKEY) = {
     ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG),
     ASN1_SIMPLE(EC_PRIVATEKEY, privateKey, ASN1_OCTET_STRING),
@@ -150,8 +155,6 @@
     ASN1_EXP_OPT(EC_PRIVATEKEY, publicKey, ASN1_BIT_STRING, 1),
 } ASN1_SEQUENCE_END(EC_PRIVATEKEY);
 
-DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY);
-DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY);
 IMPLEMENT_ASN1_FUNCTIONS_const(EC_PRIVATEKEY);
 
 
diff --git a/crypto/ecdsa/ecdsa_asn1.c b/crypto/ecdsa/ecdsa_asn1.c
index e54dcca..b3c6a87 100644
--- a/crypto/ecdsa/ecdsa_asn1.c
+++ b/crypto/ecdsa/ecdsa_asn1.c
@@ -59,13 +59,14 @@
 #include "../ec/internal.h"
 
 
+DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG);
+DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG);
+
 ASN1_SEQUENCE(ECDSA_SIG) = {
     ASN1_SIMPLE(ECDSA_SIG, r, CBIGNUM),
     ASN1_SIMPLE(ECDSA_SIG, s, CBIGNUM),
 } ASN1_SEQUENCE_END(ECDSA_SIG);
 
-DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG);
-DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG);
 IMPLEMENT_ASN1_FUNCTIONS_const(ECDSA_SIG);
 
 size_t ECDSA_size(const EC_KEY *key) {
diff --git a/include/openssl/asn1.h b/include/openssl/asn1.h
index 990506e..014b059 100644
--- a/include/openssl/asn1.h
+++ b/include/openssl/asn1.h
@@ -392,7 +392,7 @@
 #define ASN1_ITEM_rptr(ref) (&(ref##_it))
 
 #define DECLARE_ASN1_ITEM(name) \
-	extern const ASN1_ITEM name##_it;
+	extern OPENSSL_EXPORT const ASN1_ITEM name##_it;
 
 /* Parameters used by ASN1_STRING_print_ex() */
 
diff --git a/include/openssl/asn1t.h b/include/openssl/asn1t.h
index 52f5cfc..72eb2cb 100644
--- a/include/openssl/asn1t.h
+++ b/include/openssl/asn1t.h
@@ -80,7 +80,7 @@
 /* Macros for start and end of ASN1_ITEM definition */
 
 #define ASN1_ITEM_start(itname) \
-	OPENSSL_EXPORT const ASN1_ITEM itname##_it = {
+	const ASN1_ITEM itname##_it = {
 
 #define ASN1_ITEM_end(itname) \
 		};
diff --git a/include/openssl/x509v3.h b/include/openssl/x509v3.h
index 99f7cf8..9aa91d6 100644
--- a/include/openssl/x509v3.h
+++ b/include/openssl/x509v3.h
@@ -555,7 +555,7 @@
 OPENSSL_EXPORT char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5);
 OPENSSL_EXPORT ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str);
 
-OPENSSL_EXPORT DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)
+DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)
 OPENSSL_EXPORT int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION* a);
 
 DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES)
