diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 142a4f7..6a81c91 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -308,6 +308,28 @@
 			   "complex() argument can't be converted to complex");
 		return NULL;
 	}
+	/* XXX Hack to support classes with __complex__ method */
+	if (is_instanceobject(r)) {
+		static object *complexstr;
+		object *f;
+		if (complexstr == NULL) {
+			complexstr = newstringobject("__complex__");
+			if (complexstr == NULL)
+				return NULL;
+		}
+		f = getattro(r, complexstr);
+		if (f == NULL)
+			err_clear();
+		else {
+			object *args = mkvalue("()");
+			if (args == NULL)
+				return NULL;
+			r = call_object(f, args);
+			DECREF(args);
+			if (r == NULL)
+				return NULL;
+		}
+	}
 	if (is_complexobject(r))
 		cr = ((complexobject*)r)->cval;
 	else {
@@ -632,7 +654,7 @@
 
 	/* XXX Special case map(None, single_list) could be more efficient */
 	for (i = 0; ; ++i) {
-		object *alist, *item, *value;
+		object *alist, *item=NULL, *value;
 		int any = 0;
 
 		if (func == None && n == 1)
