diff --git a/OpenSSL/ssl/context.c b/OpenSSL/ssl/context.c
index 69bc4e5..a0b9a72 100644
--- a/OpenSSL/ssl/context.c
+++ b/OpenSSL/ssl/context.c
@@ -171,7 +171,7 @@
 
     MY_END_ALLOW_THREADS(conn->tstate);
 
-    cert = crypto_X509_New(X509_STORE_CTX_get_current_cert(x509_ctx), 0);
+    cert = new_x509(X509_STORE_CTX_get_current_cert(x509_ctx), 0);
     errnum = X509_STORE_CTX_get_error(x509_ctx);
     errdepth = X509_STORE_CTX_get_error_depth(x509_ctx);
 
@@ -1036,7 +1036,7 @@
     }
     else
     {
-        return (PyObject *)crypto_X509Store_New(store, 0);
+        return (PyObject *)new_x509store(store, 0);
     }
 }
 
diff --git a/OpenSSL/ssl/ssl.c b/OpenSSL/ssl/ssl.c
index efc6310..9e7d6f1 100644
--- a/OpenSSL/ssl/ssl.c
+++ b/OpenSSL/ssl/ssl.c
@@ -81,9 +81,13 @@
         PyOpenSSL_MODRETURN(NULL);
     }
 
+    new_x509 = (crypto_X509NameObj* (*)(X509*, int))GetProcAddress(crypto, "crypto_X509_New");
     new_x509name = (crypto_X509NameObj* (*)(X509_NAME*, int))GetProcAddress(crypto, "crypto_X509Name_New");
+    new_x509store = (crypto_X509NameObj* (*)(X509_STORE*, int))GetProcAddress(crypto, "crypto_X509Store_New");
 #   else
+    new_x509 = crypto_X509_New;
     new_x509name = crypto_X509Name_New;
+    new_x509store = crypto_X509Store_New;
 #   endif
 #endif
 
diff --git a/OpenSSL/ssl/ssl.h b/OpenSSL/ssl/ssl.h
index 15ae959..933f578 100644
--- a/OpenSSL/ssl/ssl.h
+++ b/OpenSSL/ssl/ssl.h
@@ -46,7 +46,9 @@
 extern ssl_Context_New_RETURN    ssl_Context_New    ssl_Context_New_PROTO;
 extern ssl_Connection_New_RETURN ssl_Connection_New ssl_Connection_New_PROTO;
 
+crypto_X509Obj* (*new_x509)(X509*, int);
 crypto_X509NameObj* (*new_x509name)(X509_NAME*, int);
+crypto_X509StoreObj* (*new_x509store)(X509_STORE*, int);
 
 #else /* SSL_MODULE */
 
