diff --git a/Lib/CGIHTTPServer.py b/Lib/CGIHTTPServer.py
index 2ca8217..61f34f8 100644
--- a/Lib/CGIHTTPServer.py
+++ b/Lib/CGIHTTPServer.py
@@ -85,8 +85,11 @@
         (and the next character is a '/' or the end of the string).
         """
         splitpath = _url_collapse_path_split(self.path)
-        if splitpath[0] in self.cgi_directories:
-            self.cgi_info = splitpath
+        joined_path = '/'.join(splitpath)
+        dir_sep = joined_path.find('/', 1)
+        head, tail = joined_path[:dir_sep], joined_path[dir_sep+1:]
+        if head in self.cgi_directories:
+            self.cgi_info = head, tail
             return True
         return False
 
@@ -323,14 +326,7 @@
     # Filter out blank non trailing parts before consuming the '..'.
     path_parts = [part for part in path_parts[:-1] if part] + path_parts[-1:]
     if path_parts:
-        # Special case for CGI's for PATH_INFO
-        if path.startswith('/cgi-bin') or path.startswith('/htbin'):
-            tail_part = []
-            while path_parts[-1] not in ('cgi-bin','htbin'):
-                tail_part.insert(0,path_parts.pop())
-            tail_part = "/".join(tail_part)
-        else:
-            tail_part = path_parts.pop()
+        tail_part = path_parts.pop()
     else:
         tail_part = ''
     head_parts = []
diff --git a/Lib/test/test_httpservers.py b/Lib/test/test_httpservers.py
index a7752d9..d1b924d 100644
--- a/Lib/test/test_httpservers.py
+++ b/Lib/test/test_httpservers.py
@@ -419,6 +419,7 @@
             BaseTestCase.tearDown(self)
 
     def test_url_collapse_path_split(self):
+        # verify tail is the last portion and head is the rest on proper urls
         test_vectors = {
             '': ('/', ''),
             '..': IndexError,
@@ -429,7 +430,6 @@
             '/.//': ('/', ''),
             'cgi-bin/file1.py': ('/cgi-bin', 'file1.py'),
             '/cgi-bin/file1.py': ('/cgi-bin', 'file1.py'),
-            '/cgi-bin/file1.py/PATH-INFO': ('/cgi-bin', 'file1.py/PATH-INFO'),
             'a': ('/', 'a'),
             '/a': ('/', 'a'),
             '//a': ('/', 'a'),
