#5346: Preserve permissions of mbox, MMDF and Babyl mailbox files on flush()
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 73c43e2..8b00460 100644
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -691,6 +691,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 as e: