diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py
index fcb55d1..cb8ba10 100644
--- a/Lib/test/test_zipfile.py
+++ b/Lib/test/test_zipfile.py
@@ -1023,6 +1023,11 @@
         self.assertTrue(os.path.isdir(os.path.join(TESTFN2, "a", "b")))
         self.assertTrue(os.path.exists(os.path.join(TESTFN2, "a", "b", "c")))
 
+    def test_bug_6050(self):
+        # Extraction should succeed if directories already exist
+        os.mkdir(os.path.join(TESTFN2, "a"))
+        self.testExtractDir()
+
     def testStoreDir(self):
         os.mkdir(os.path.join(TESTFN2, "x"))
         zipf = zipfile.ZipFile(TESTFN, "w")
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index e3d40b4..68885f9 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -971,7 +971,8 @@
             os.makedirs(upperdirs)
 
         if member.filename[-1] == '/':
-            os.mkdir(targetpath)
+            if not os.path.isdir(targetpath):
+                os.mkdir(targetpath)
             return targetpath
 
         source = self.open(member, pwd=pwd)
diff --git a/Misc/NEWS b/Misc/NEWS
index a21651b..c2f2121 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -302,6 +302,9 @@
 Library
 -------
 
+- Issue #6050: Don't fail extracting a directory from a zipfile if
+  the directory already exists.
+
 - Issue #5311: bdist_msi can now build packages that do not depend on a
   specific Python version.
 
