Plodding onward.  This is going to get repetitive.
diff --git a/OpenSSL/crypto/x509ext.h b/OpenSSL/crypto/x509ext.h
index f20e562..6ce7f68 100644
--- a/OpenSSL/crypto/x509ext.h
+++ b/OpenSSL/crypto/x509ext.h
@@ -19,8 +19,9 @@
 
 extern  PyTypeObject      crypto_X509Extension_Type;
 
-#define crypto_X509Extension_Check(v) ((v)->ob_type == \
-				       &crypto_X509Extension_Type)
+#define crypto_X509Extension_Check(v) ( \
+        PyObject_TypeCheck((v),         \
+                           &crypto_X509Extension_Type))
 
 typedef struct {
     PyObject_HEAD