Message.__delitem__():  If the key doesn't exist in the dictionary,
        raise KeyError instead of failing silently!
diff --git a/Lib/rfc822.py b/Lib/rfc822.py
index 8721994..dcf059c 100644
--- a/Lib/rfc822.py
+++ b/Lib/rfc822.py
@@ -397,11 +397,11 @@
     
     def __delitem__(self, name):
         """Delete all occurrences of a specific header, if it is present."""
-        name = string.lower(name)
-        if not self.dict.has_key(name):
-            return
-        del self.dict[name]
-        name = name + ':'
+        lowname = string.lower(name)
+        if not self.dict.has_key(lowname):
+            raise KeyError, name
+        del self.dict[lowname]
+        name = lowname + ':'
         n = len(name)
         list = []
         hit = 0