diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py
index 0d72837..29a9020 100644
--- a/Lib/distutils/msvccompiler.py
+++ b/Lib/distutils/msvccompiler.py
@@ -187,6 +187,19 @@
     j = string.find(sys.version, ")", i)
     return sys.version[i+len(prefix):j]
 
+def normalize_and_reduce_paths(paths):
+    """Return a list of normalized paths with duplicates removed.
+
+    The current order of paths is maintained.
+    """
+    # Paths are normalized so things like:  /a and /a/ aren't both preserved.
+    reduced_paths = []
+    for p in paths:
+        np = os.path.normpath(p)
+        # XXX(nnorwitz): O(n**2), if reduced_paths gets long perhaps use a set.
+        if np not in reduced_paths:
+            reduced_paths.append(np)
+    return reduced_paths
 
 
 class MSVCCompiler (CCompiler) :
@@ -270,6 +283,7 @@
                 self.__paths.append(p)
         except KeyError:
             pass
+        self.__paths = normalize_and_reduce_paths(self.__paths)
         os.environ['path'] = string.join(self.__paths, ';')
 
         self.preprocess_options = None
diff --git a/Misc/NEWS b/Misc/NEWS
index 9cbdc3a..408de56 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1,4 +1,4 @@
-__init+++++++++++
++++++++++++
 Python News
 +++++++++++
 
@@ -200,6 +200,8 @@
 Library
 -------
 
+- Patch #1685563: remove (don't add) duplicate paths in distutils.MSVCCompiler.
+
 - Added a timeout parameter to the constructor of other protocols
   (telnetlib, ftplib, smtplib and poplib). This is second part of the
   work started with create_connection() and timeout in httplib, and
