diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py
index a116544..49ac23d 100644
--- a/Lib/test/test_pyexpat.py
+++ b/Lib/test/test_pyexpat.py
@@ -2,10 +2,10 @@
 # handler, are obscure and unhelpful.
 
 from io import BytesIO
-import sys
 import unittest
 
 from xml.parsers import expat
+from xml.parsers.expat import errors
 
 from test.support import sortdict, run_unittest
 
@@ -575,7 +575,7 @@
         parser.Parse(xml2, 1)
         self.assertEquals(self.n, 4)
 
-class MalformedInputText(unittest.TestCase):
+class MalformedInputTest(unittest.TestCase):
     def test1(self):
         xml = "\0\r\n"
         parser = expat.ParserCreate()
@@ -594,6 +594,23 @@
         except expat.ExpatError as e:
             self.assertEquals(str(e), 'XML declaration not well-formed: line 1, column 14')
 
+class ErrorMessageTest(unittest.TestCase):
+    def test_codes(self):
+        # verify mapping of errors.codes and errors.messages
+        self.assertEqual(errors.XML_ERROR_SYNTAX,
+                         errors.messages[errors.codes[errors.XML_ERROR_SYNTAX]])
+
+    def test_expaterror(self):
+        xml = '<'
+        parser = expat.ParserCreate()
+        try:
+            parser.Parse(xml, True)
+            self.fail()
+        except expat.ExpatError as e:
+            self.assertEquals(e.code,
+                              errors.codes[errors.XML_ERROR_UNCLOSED_TOKEN])
+
+
 def test_main():
     run_unittest(SetAttributeTest,
                  ParseTest,
@@ -604,7 +621,8 @@
                  PositionTest,
                  sf1296433Test,
                  ChardataBufferTest,
-                 MalformedInputText)
+                 MalformedInputTest,
+                 ErrorMessageTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/xml/parsers/expat.py b/Lib/xml/parsers/expat.py
index 11359a0..a805b82 100644
--- a/Lib/xml/parsers/expat.py
+++ b/Lib/xml/parsers/expat.py
@@ -1,4 +1,10 @@
 """Interface to the Expat non-validating XML parser."""
 __version__ = '$Revision$'
 
+import sys
+
 from pyexpat import *
+
+# provide pyexpat submodules as xml.parsers.expat submodules
+sys.modules['xml.parsers.expat.model'] = model
+sys.modules['xml.parsers.expat.errors'] = errors
