diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index dfe2fb06f5d367fdba3f22a47674e39f8d4a5848..a6c3eb8b2c9475a0b697468026e4dcb523f0e274 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -658,7 +658,12 @@ _get_peer_alt_names (X509 *certificate) {
 	char buf[2048];
 	char *vptr;
 	int len;
+	/* Issue #2973: ASN1_item_d2i() API changed in OpenSSL 0.9.6m */
+#if OPENSSL_VERSION_NUMBER >= 0x009060dfL
+	const unsigned char *p;
+#else
 	unsigned char *p;
+#endif
 
 	if (certificate == NULL)
 		return peer_alt_names;