diff --git a/Objects/classobject.c b/Objects/classobject.c
index 8560b68..89cca59 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -1539,6 +1539,18 @@
 	return generic_unary_op(self, o); \
 }
 
+/* unary function with a fallback */
+#define UNARY_FB(funcname, methodname, funcname_fb) \
+static PyObject *funcname(PyInstanceObject *self) { \
+	static PyObject *o; \
+	if (o == NULL) { o = PyString_InternFromString(methodname); \
+			 if (o == NULL) return NULL; } \
+	if (PyObject_HasAttr((PyObject*)self, o)) \
+		return generic_unary_op(self, o); \
+	else \
+		return funcname_fb(self); \
+}
+
 #define BINARY(f, m, n) \
 static PyObject *f(PyObject *v, PyObject *w) { \
 	return do_binop(v, w, "__" m "__", "__r" m "__", n); \
@@ -1777,7 +1789,7 @@
 
 UNARY(instance_invert, "__invert__")
 UNARY(instance_int, "__int__")
-UNARY(instance_long, "__long__")
+UNARY_FB(instance_long, "__long__", instance_int)
 UNARY(instance_float, "__float__")
 UNARY(instance_oct, "__oct__")
 UNARY(instance_hex, "__hex__")
