diff --git a/src/calibre/ebooks/epub/iterator.py b/src/calibre/ebooks/epub/iterator.py index d47630a970..08c275e81f 100644 --- a/src/calibre/ebooks/epub/iterator.py +++ b/src/calibre/ebooks/epub/iterator.py @@ -170,7 +170,10 @@ class EbookIterator(object): dat = self.serialize_bookmarks(bookmarks) if os.path.splitext(self.pathtoebook)[1].lower() == '.epub' and \ os.access(self.pathtoebook, os.R_OK): - zf = open(self.pathtoebook, 'r+b') + try: + zf = open(self.pathtoebook, 'r+b') + except IOError: + return zipf = ZipFile(zf, mode='a') for name in zipf.namelist(): if name == 'META-INF/calibre_bookmarks.txt':