#5346: Preserve permissions of mbox, MMDF and Babyl mailbox files on flush()
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index fc154fa..6168367 100644
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -665,6 +665,9 @@
         _sync_close(new_file)
         # self._file is about to get replaced, so no need to sync.
         self._file.close()
+        # Make sure the new file's mode is the same as the old file's
+        mode = os.stat(self._path).st_mode
+        os.chmod(new_file.name, mode)
         try:
             os.rename(new_file.name, self._path)
         except OSError, e: