diff --git a/Objects/classobject.c b/Objects/classobject.c
index 5a9e49d..23001af 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -42,10 +42,18 @@
 	object *name; /* String; NULL if unknown */
 {
 	classobject *op;
+	if (bases == NULL) {
+		bases = newtupleobject(0);
+		if (bases == NULL)
+			return err_nomem();
+	}
+	else
+		INCREF(bases);
 	op = NEWOBJ(classobject, &Classtype);
-	if (op == NULL)
+	if (op == NULL) {
+		DECREF(bases);
 		return NULL;
-	XINCREF(bases);
+	}
 	op->cl_bases = bases;
 	INCREF(methods);
 	op->cl_methods = methods;
@@ -60,7 +68,8 @@
 class_dealloc(op)
 	classobject *op;
 {
-	XDECREF(op->cl_bases);
+	int i;
+	DECREF(op->cl_bases);
 	DECREF(op->cl_methods);
 	XDECREF(op->cl_name);
 	free((ANY *)op);
@@ -77,8 +86,6 @@
 		return op->cl_methods;
 	}
 	if (strcmp(name, "__bases__") == 0) {
-		if (op->cl_bases == NULL)
-			return newtupleobject(0);
 		INCREF(op->cl_bases);
 		return op->cl_bases;
 	}
@@ -95,7 +102,7 @@
 		INCREF(v);
 		return v;
 	}
-	if (op->cl_bases != NULL) {
+	{
 		int n = gettuplesize(op->cl_bases);
 		int i;
 		for (i = 0; i < n; i++) {
@@ -105,7 +112,7 @@
 			err_clear();
 		}
 	}
-	err_setstr(NameError, name);
+	err_setstr(AttributeError, name);
 	return NULL;
 }
 
@@ -209,7 +216,7 @@
 		return w;
 	}
 	DECREF(v);
-	err_setstr(NameError, name);
+	err_setstr(AttributeError, name);
 	return NULL;
 }
 
