diff --git a/Objects/classobject.c b/Objects/classobject.c
index 19f887c..514869c 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -133,8 +133,13 @@
 			return -1;
 		}
 	}
-	if (v == NULL)
-		return dictremove(op->cl_methods, name);
+	if (v == NULL) {
+		int rv = dictremove(op->cl_methods, name);
+		if (rv < 0)
+			err_setstr(AttributeError,
+				   "delete non-existing class attribute");
+		return rv;
+	}
 	else
 		return dictinsert(op->cl_methods, name, v);
 }
@@ -245,8 +250,13 @@
 			return -1;
 		}
 	}
-	if (v == NULL)
-		return dictremove(inst->in_attr, name);
+	if (v == NULL) {
+		int rv = dictremove(inst->in_attr, name);
+		if (rv < 0)
+			err_setstr(AttributeError,
+				   "delete non-existing instance attribute");
+		return rv;
+	}
 	else
 		return dictinsert(inst->in_attr, name, v);
 }
diff --git a/Objects/moduleobject.c b/Objects/moduleobject.c
index bbe927c..aedba35 100644
--- a/Objects/moduleobject.c
+++ b/Objects/moduleobject.c
@@ -132,11 +132,16 @@
 	object *v;
 {
 	if (strcmp(name, "__dict__") == 0 || strcmp(name, "__name__") == 0) {
-		err_setstr(TypeError, "can't assign to reserved member name");
+		err_setstr(TypeError, "read-only special attribute");
 		return -1;
 	}
-	if (v == NULL)
-		return dictremove(m->md_dict, name);
+	if (v == NULL) {
+		int rv = dictremove(m->md_dict, name);
+		if (rv < 0)
+			err_setstr(AttributeError,
+				   "delete non-existing module attribute");
+		return rv;
+	}
 	else
 		return dictinsert(m->md_dict, name, v);
 }
diff --git a/Objects/xxobject.c b/Objects/xxobject.c
index 7ab7a73..8471893 100644
--- a/Objects/xxobject.c
+++ b/Objects/xxobject.c
@@ -110,8 +110,13 @@
 		if (xp->x_attr == NULL)
 			return -1;
 	}
-	if (v == NULL)
-		return dictremove(xp->x_attr, name);
+	if (v == NULL) {
+		int rv = dictremove(xp->x_attr, name);
+		if (rv < 0)
+			err_setstr(AttributeError,
+			        "delete non-existing xx attribute");
+		return rv;
+	}
 	else
 		return dictinsert(xp->x_attr, name, v);
 }
