diff --git a/Modules/stdwinmodule.c b/Modules/stdwinmodule.c
index e33610d..8b3812b 100644
--- a/Modules/stdwinmodule.c
+++ b/Modules/stdwinmodule.c
@@ -1051,8 +1051,13 @@
 		if (tp->t_attr == NULL)
 			return -1;
 	}
-	if (v == NULL)
-		return dictremove(tp->t_attr, name);
+	if (v == NULL) {
+		int rv = dictremove(tp->t_attr, name);
+		if (rv < 0)
+			err_setstr(AttributeError,
+			        "delete non-existing text object attribute");
+		return rv;
+	}
 	else
 		return dictinsert(tp->t_attr, name, v);
 }
@@ -1253,8 +1258,13 @@
 		if (mp->m_attr == NULL)
 			return -1;
 	}
-	if (v == NULL)
-		return dictremove(mp->m_attr, name);
+	if (v == NULL) {
+		int rv = dictremove(mp->m_attr, name);
+		if (rv < 0)
+			err_setstr(AttributeError,
+			        "delete non-existing menu object attribute");
+		return rv;
+	}
 	else
 		return dictinsert(mp->m_attr, name, v);
 }
@@ -1655,8 +1665,13 @@
 		if (wp->w_attr == NULL)
 			return -1;
 	}
-	if (v == NULL)
-		return dictremove(wp->w_attr, name);
+	if (v == NULL) {
+		int rv = dictremove(wp->w_attr, name);
+		if (rv < 0)
+			err_setstr(AttributeError,
+			        "delete non-existing menu object attribute");
+		return rv;
+	}
 	else
 		return dictinsert(wp->w_attr, name, v);
 }
diff --git a/Modules/sunaudiodev.c b/Modules/sunaudiodev.c
index 0cf5613..d02041a 100644
--- a/Modules/sunaudiodev.c
+++ b/Modules/sunaudiodev.c
@@ -343,6 +343,12 @@
     char *name;
     object *v;
 {
+
+	if (v == NULL) {
+		err_setstr(TypeError,
+			   "can't delete sun audio status attributes");
+		return NULL;
+	}
 	return setmember((char *)&xp->ai, sads_ml, name, v);
 }
 
