#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 b81c5ed..b032a65 100644
--- a/Lib/idlelib/MultiCall.py
+++ b/Lib/idlelib/MultiCall.py
@@ -171,8 +171,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 59ec000..29784ff 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,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 #17526: fix an IndexError raised while passing code without filename to