diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index 298e262..60f2c15 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -1114,21 +1114,27 @@
 		return NULL;
 	}
 
-	/* XXX Hack to support classes with __complex__ method */
 	if (complexstr == NULL) {
 		complexstr = PyString_InternFromString("__complex__");
 		if (complexstr == NULL)
 			return NULL;
 	}
-	f = PyObject_GetAttr(r, complexstr);
-	if (f == NULL)
-		PyErr_Clear();
+	if (PyInstance_Check(r)) {
+		f = PyObject_GetAttr(r, complexstr);
+		if (f == NULL) {
+			if (PyErr_ExceptionMatches(PyExc_AttributeError))
+				PyErr_Clear();
+			else
+				return NULL;
+		}
+	}
 	else {
-		PyObject *args = PyTuple_New(0);
-		if (args == NULL)
+		f = _PyObject_LookupSpecial(r, "__complex__", &complexstr);
+		if (f == NULL && PyErr_Occurred())
 			return NULL;
-		r = PyEval_CallObject(f, args);
-		Py_DECREF(args);
+	}
+	if (f != NULL) {
+		r = PyObject_CallFunctionObjArgs(f, NULL);
 		Py_DECREF(f);
 		if (r == NULL)
 			return NULL;
