diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 015fdb5..ba0d5b5 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -579,14 +579,19 @@
     def proxy_open(self, req, proxy, type):
         orig_type = req.get_type()
         type, r_type = splittype(proxy)
-        host, XXX = splithost(r_type)
-        if '@' in host:
-            user_pass, host = host.split('@', 1)
-            if ':' in user_pass:
-                user, password = user_pass.split(':', 1)
-                user_pass = base64.encodestring('%s:%s' % (unquote(user),
-                                                unquote(password))).strip()
-                req.add_header('Proxy-authorization', 'Basic ' + user_pass)
+        if not type or r_type.isdigit():
+            # proxy is specified without protocol
+            type = orig_type
+            host = proxy
+        else:
+            host, r_host = splithost(r_type)
+        user_pass, host = splituser(host)
+        user, password = splitpasswd(user_pass)
+        if user and password:
+            user, password = user_pass.split(':', 1)
+            user_pass = base64.encodestring('%s:%s' % (unquote(user),
+                                            unquote(password))).strip()
+            req.add_header('Proxy-authorization', 'Basic ' + user_pass)
         host = unquote(host)
         req.set_proxy(host, type)
         if orig_type == type:
diff --git a/Misc/NEWS b/Misc/NEWS
index ca5c5d9..af41f33 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -337,7 +337,9 @@
 Library
 -------
 
-- Bug #1407902: Added support for sftp:// URIs to urlparse.
+- Bug #902075: urllib2 now supports 'host:port' style proxy specifications.
+
+- Bug #1407902: Add support for sftp:// URIs to urlparse.
 
 - Bug #1371247: Update Windows locale identifiers in locale.py.
 
