diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index b5dce97..7154d2c 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -242,6 +242,10 @@
         except OSError, e:
             if e.errno == _errno.EEXIST:
                 continue # try again
+            if _os.name == 'nt' and e.errno == _errno.EACCES:
+                # On windows, when a directory with the chosen name already
+                # exists, EACCES error code is returned instead of EEXIST.
+                continue
             raise
 
     raise IOError, (_errno.EEXIST, "No usable temporary file name found")
diff --git a/Lib/test/test_tempfile.py b/Lib/test/test_tempfile.py
index b4d23ad..eb3e2b9 100644
--- a/Lib/test/test_tempfile.py
+++ b/Lib/test/test_tempfile.py
@@ -386,6 +386,32 @@
         self.do_create(bin=0).write("blat\n")
         # XXX should test that the file really is a text file
 
+    def test_collision_with_existing_directory(self):
+        # _mkstemp_inner tries another name when a directory with
+        # the chosen name already exists
+        container_dir = tempfile.mkdtemp()
+        try:
+            def mock_get_candidate_names():
+                return iter(['aaa', 'aaa', 'bbb'])
+            with support.swap_attr(tempfile,
+                                   '_get_candidate_names',
+                                   mock_get_candidate_names):
+                dir = tempfile.mkdtemp(dir=container_dir)
+                self.assertTrue(dir.endswith('aaa'))
+
+                flags = tempfile._bin_openflags
+                (fd, name) = tempfile._mkstemp_inner(container_dir,
+                                                     tempfile.template,
+                                                     '',
+                                                     flags)
+                try:
+                    self.assertTrue(name.endswith('bbb'))
+                finally:
+                    os.close(fd)
+                    os.unlink(name)
+        finally:
+            support.rmtree(container_dir)
+
 test_classes.append(test__mkstemp_inner)
 
 
diff --git a/Misc/ACKS b/Misc/ACKS
index 8d29290..e251596 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -936,6 +936,7 @@
 Ha Shao
 Mark Shannon
 Richard Shapiro
+Vlad Shcherbina
 Justin Sheehy
 Charlie Shepherd
 Bruce Sherwood
diff --git a/Misc/NEWS b/Misc/NEWS
index 8c67ad1..53be4c1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -156,6 +156,11 @@
 - Issue #18113: Fixed a refcount leak in the curses.panel module's
   set_userptr() method.  Reported by Atsuo Ishimoto.
 
+- Issue #18849: Fixed a Windows-specific tempfile bug where collision with an
+  existing directory caused mkstemp and related APIs to fail instead of
+  retrying. Report and fix by Vlad Shcherbina.
+
+
 Tools/Demos
 -----------
 
