diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 9978359..a9d9c28 100644
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -1854,7 +1854,10 @@
 
     def close(self):
         """Close the file."""
-        del self._file
+        if hasattr(self, '_file'):
+            if hasattr(self._file, 'close'):
+                self._file.close()
+            del self._file
 
     def _read(self, size, read_method):
         """Read size bytes using read_method."""
@@ -1898,6 +1901,12 @@
             size = remaining
         return _ProxyFile._read(self, size, read_method)
 
+    def close(self):
+        # do *not* close the underlying file object for partial files,
+        # since it's global to the mailbox object
+        if hasattr(self, '_file'):
+            del self._file
+
 
 def _lock_file(f, dotlock=True):
     """Lock file f using lockf and dot locking."""
diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py
index 3c7a3e6..1124979 100644
--- a/Lib/test/test_mailbox.py
+++ b/Lib/test/test_mailbox.py
@@ -174,6 +174,13 @@
         self.assertEqual(self._box.get_file(key1).read().replace(os.linesep, '\n'),
                          _sample_message)
 
+    def test_get_file_can_be_closed_twice(self):
+        # Issue 11700
+        key = self._box.add(_sample_message)
+        f = self._box.get_file(key)
+        f.close()
+        f.close()
+
     def test_iterkeys(self):
         # Get keys using iterkeys()
         self._check_iteration(self._box.iterkeys, do_keys=True, do_values=False)
@@ -1670,7 +1677,8 @@
     def _test_close(self, proxy):
         # Close a file
         proxy.close()
-        self.assertRaises(AttributeError, lambda: proxy.close())
+        # Issue 11700 subsequent closes should be a no-op, not an error.
+        proxy.close()
 
 
 class TestProxyFile(TestProxyFileBase):
