diff --git a/Lib/test/output/test_sax b/Lib/test/output/test_sax
index d2ccf88..3667e81 100644
--- a/Lib/test/output/test_sax
+++ b/Lib/test/output/test_sax
@@ -8,7 +8,9 @@
 Passed test_expat_attrs_wattr
 Passed test_expat_dtdhandler
 Passed test_expat_entityresolver
+Passed test_expat_incomplete
 Passed test_expat_inpsource_filename
+Passed test_expat_inpsource_location
 Passed test_expat_inpsource_stream
 Passed test_expat_inpsource_sysid
 Passed test_expat_nsattrs_empty
@@ -23,4 +25,4 @@
 Passed test_xmlgen_ignorable
 Passed test_xmlgen_ns
 Passed test_xmlgen_pi
-24 tests, 0 failures
+26 tests, 0 failures
diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py
index b3576ab..e080217 100644
--- a/Lib/test/test_sax.py
+++ b/Lib/test/test_sax.py
@@ -2,10 +2,11 @@
 # regression test for SAX 2.0
 # $Id$
 
-from xml.sax import make_parser, ContentHandler
+from xml.sax import make_parser, ContentHandler, \
+                    SAXException, SAXReaderNotAvailable, SAXParseException
 try:
     make_parser()
-except xml.sax.SAXReaderNotAvailable:
+except SAXReaderNotAvailable:
     # don't try to test this module if we cannot create a parser
     raise ImportError("no XML parsers available")
 from xml.sax.saxutils import XMLGenerator, escape, XMLFilterBase
@@ -313,6 +314,36 @@
 
     return result.getvalue() == xml_test_out
 
+
+# ===========================================================================
+#
+#   error reporting
+#
+# ===========================================================================
+
+def test_expat_inpsource_location():
+    parser = create_parser()
+    parser.setContentHandler(ContentHandler()) # do nothing
+    source = InputSource()
+    source.setByteStream(StringIO("<foo bar foobar>"))   #ill-formed
+    name = "a file name"
+    source.setSystemId(name)
+    try:
+        parser.parse(source)
+    except SAXException, e:
+        return e.getSystemId() == name
+
+def test_expat_incomplete():
+    parser = create_parser()
+    parser.setContentHandler(ContentHandler()) # do nothing
+    try:
+        parser.parse(StringIO("<foo>"))
+    except SAXParseException:
+        return 1 # ok, error found
+    else:
+        return 0
+
+
 # ===========================================================================
 #
 #   xmlreader tests
