diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py
index c515432..e11253e 100644
--- a/Lib/idlelib/IOBinding.py
+++ b/Lib/idlelib/IOBinding.py
@@ -196,7 +196,8 @@
                 self.filename_change_hook()
 
     def open(self, event=None, editFile=None):
-        if self.editwin.flist:
+        flist = self.editwin.flist
+        if flist:
             if not editFile:
                 filename = self.askopenfile()
             else:
@@ -207,16 +208,22 @@
                 # we open a new window.  But we won't replace the
                 # shell window (which has an interp(reter) attribute), which
                 # gets set to "not modified" at every new prompt.
+                # Also, make sure the current window has not been closed,
+                # since it can be closed during the Open File dialog.
                 try:
                     interp = self.editwin.interp
                 except AttributeError:
                     interp = None
-                if not self.filename and self.get_saved() and not interp:
-                    self.editwin.flist.open(filename, self.loadfile)
+
+                if self.editwin and not self.filename and \
+                          self.get_saved() and not interp:
+                    flist.open(filename, self.loadfile)
                 else:
-                    self.editwin.flist.open(filename)
+                    flist.open(filename)
             else:
-                self.text.focus_set()
+                if self.text:
+                    self.text.focus_set()
+            
             return "break"
         #
         # Code for use outside IDLE:
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index eeb33e1..eec0b70 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -1458,7 +1458,8 @@
     if tkversionwarning:
         shell.interp.runcommand(''.join(("print('", tkversionwarning, "')")))
 
-    root.mainloop()
+    while flist.inversedict:  # keep IDLE running while files are open.
+        root.mainloop()
     root.destroy()
 
 if __name__ == "__main__":
