diff --git a/Lib/test/test_xmllib.py b/Lib/test/test_xmllib.py
index b14ead9..0780bc9 100644
--- a/Lib/test/test_xmllib.py
+++ b/Lib/test/test_xmllib.py
@@ -13,6 +13,8 @@
 <greeting>Hello, world!</greeting>
 """
 
+nsdoc = "<foo xmlns='URI' attr='val'/>"
+
 import warnings
 warnings.filterwarnings("ignore", ".* xmllib .* obsolete.*",
                         DeprecationWarning, r'xmllib$')
@@ -29,6 +31,18 @@
             parser.feed(c)
         parser.close()
 
+    def test_default_namespace(self):
+        class H(xmllib.XMLParser):
+            def unknown_starttag(self, name, attr):
+                self.name, self.attr = name, attr
+        h=H()
+        h.feed(nsdoc)
+        h.close()
+        # The default namespace applies to elements...
+        self.assertEquals(h.name, "URI foo")
+        # but not to attributes
+        self.assertEquals(h.attr, {'attr':'val'})
+
 
 def test_main():
     test_support.run_unittest(XMLParserTestCase)
diff --git a/Lib/xmllib.py b/Lib/xmllib.py
index f1cd2e4..2a189cd 100644
--- a/Lib/xmllib.py
+++ b/Lib/xmllib.py
@@ -6,8 +6,7 @@
 import string
 
 import warnings
-warnings.warn("The xmllib module is obsolete.  Use xml.sax instead.",
-              DeprecationWarning)
+warnings.warn("The xmllib module is obsolete.  Use xml.sax instead.", DeprecationWarning)
 del warnings
 
 version = '0.3'
@@ -641,20 +640,17 @@
                     aprefix, key = res.group('prefix', 'local')
                     if self.__map_case:
                         key = key.lower()
-                    if aprefix is None:
-                        aprefix = ''
-                    ans = None
-                    for t, d, nst in self.stack:
-                        if aprefix in d:
-                            ans = d[aprefix]
-                    if ans is None and aprefix != '':
-                        ans = self.__namespaces.get(aprefix)
-                    if ans is not None:
-                        key = ans + ' ' + key
-                    elif aprefix != '':
-                        key = aprefix + ':' + key
-                    elif ns is not None:
-                        key = ns + ' ' + key
+                    if aprefix is not None:
+                        ans = None
+                        for t, d, nst in self.stack:
+                            if aprefix in d:
+                                ans = d[aprefix]
+                        if ans is None:
+                            ans = self.__namespaces.get(aprefix)
+                        if ans is not None:
+                            key = ans + ' ' + key
+                        else:
+                            key = aprefix + ':' + key
                 nattrdict[key] = val
                 attrnamemap[key] = okey
             attrdict = nattrdict
