Corrected version of 1.170
diff --git a/Lib/urllib.py b/Lib/urllib.py
index a49b586..bc16be0 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -1110,12 +1110,9 @@
 def quote_plus(s, safe = ''):
     """Quote the query fragment of a URL; replacing ' ' with '+'"""
     if ' ' in s:
-        l = s.split(' ')
-        for i in range(len(l)):
-            l[i] = quote(l[i], safe)
-        return '+'.join(l)
-    else:
-        return quote(s, safe)
+        s = quote(s, safe + ' ')
+        return s.replace(' ', '+')
+    return quote(s, safe)
 
 def urlencode(query,doseq=0):
     """Encode a sequence of two-element tuples or dictionary into a URL query string.