diff --git a/Lib/SimpleHTTPServer.py b/Lib/SimpleHTTPServer.py
index 86c669e..249e237 100644
--- a/Lib/SimpleHTTPServer.py
+++ b/Lib/SimpleHTTPServer.py
@@ -146,7 +146,8 @@
 
         """
         # abandon query parameters
-        path = urlparse.urlparse(path)[2]
+        path = path.split('?',1)[0]
+        path = path.split('#',1)[0]
         path = posixpath.normpath(urllib.unquote(path))
         words = path.split('/')
         words = filter(None, words)
diff --git a/Lib/test/test_SimpleHTTPServer.py b/Lib/test/test_SimpleHTTPServer.py
new file mode 100644
index 0000000..9d3ad16
--- /dev/null
+++ b/Lib/test/test_SimpleHTTPServer.py
@@ -0,0 +1,41 @@
+"""
+These tests only check url parsing for now.
+We don't want to require the 'network' resource.
+"""
+
+import os, unittest
+from SimpleHTTPServer import SimpleHTTPRequestHandler
+from test import test_support
+
+
+class SocketlessRequestHandler (SimpleHTTPRequestHandler):
+    def __init__(self):
+        pass
+
+class SimpleHTTPRequestHandlerTestCase(unittest.TestCase):
+    """ Test url parsing """
+    def setUp (self):
+        self.translated = os.getcwd()
+        self.translated = os.path.join(self.translated, 'filename')
+        self.handler = SocketlessRequestHandler ()
+
+    def test_queryArguments (self):
+        path = self.handler.translate_path ('/filename')
+        self.assertEquals (path, self.translated)
+        path = self.handler.translate_path ('/filename?foo=bar')
+        self.assertEquals (path, self.translated)
+        path = self.handler.translate_path ('/filename?a=b&spam=eggs#zot')
+        self.assertEquals (path, self.translated)
+
+    def test_startWithDoubleSlash (self):
+        path = self.handler.translate_path ('//filename')
+        self.assertEquals (path, self.translated)
+        path = self.handler.translate_path ('//filename?foo=bar')
+        self.assertEquals (path, self.translated)
+
+
+def test_main():
+    test_support.run_unittest(SimpleHTTPRequestHandlerTestCase)
+
+if __name__ == "__main__":
+    test_main()
