diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py
index 1fed79a..a2c3a2c 100644
--- a/Lib/test/test_zipfile.py
+++ b/Lib/test/test_zipfile.py
@@ -664,6 +664,16 @@
         # quickly.
         self.assertRaises(IOError, zipfile.ZipFile, TESTFN)
 
+    def test_empty_file_raises_BadZipFile(self):
+        f = open(TESTFN, 'w')
+        f.close()
+        self.assertRaises(zipfile.BadZipfile, zipfile.ZipFile, TESTFN)
+
+        f = open(TESTFN, 'w')
+        f.write("short file")
+        f.close()
+        self.assertRaises(zipfile.BadZipfile, zipfile.ZipFile, TESTFN)
+
     def testClosedZipRaisesRuntimeError(self):
         # Verify that testzip() doesn't swallow inappropriate exceptions.
         data = StringIO()
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index e2ede45..34b3f1a 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -186,7 +186,10 @@
     # Check to see if this is ZIP file with no archive comment (the
     # "end of central directory" structure should be the last item in the
     # file if this is the case).
-    fpin.seek(-sizeEndCentDir, 2)
+    try:
+        fpin.seek(-sizeEndCentDir, 2)
+    except IOError:
+        return None
     data = fpin.read()
     if data[0:4] == stringEndArchive and data[-2:] == "\000\000":
         # the signature is correct and there's no comment, unpack structure
diff --git a/Misc/NEWS b/Misc/NEWS
index b1a1af1..af2c9dd 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -318,6 +318,9 @@
 Library
 -------
 
+- Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when
+  opening an empty or very small file.
+
 - Issue #1488943: difflib.Differ() doesn't always add hints for tab characters
 
 - Issue #5037: Proxy the __unicode__ special method instead to __unicode__
