#8900: Using keyboard shortcuts in IDLE to open a file no longer raises an exception.
diff --git a/Lib/idlelib/MultiCall.py b/Lib/idlelib/MultiCall.py
index 47f402d..64729ea 100644
--- a/Lib/idlelib/MultiCall.py
+++ b/Lib/idlelib/MultiCall.py
@@ -170,8 +170,9 @@
                     break
             ishandlerrunning[:] = []
             # Call all functions in doafterhandler and remove them from list
-            while doafterhandler:
-                doafterhandler.pop()()
+            for f in doafterhandler:
+                f()
+            doafterhandler[:] = []
             if r:
                 return r
         return handler
diff --git a/Misc/NEWS b/Misc/NEWS
index d1ba2db..a3fe827 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -15,6 +15,9 @@
 Library
 -------
 
+- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer
+  raises an exception.
+
 - Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo.
 
 - Issue #17435: threading.Timer's __init__ method no longer uses mutable