diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 124eaf0..08fa79e 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -54,6 +54,7 @@
 static void initmain(void);
 static void initsite(void);
 static int initstdio(void);
+static void flush_io(void);
 static PyObject *run_mod(mod_ty, const char *, PyObject *, PyObject *,
 			  PyCompilerFlags *, PyArena *);
 static PyObject *run_pyc_file(FILE *, const char *, PyObject *, PyObject *,
@@ -992,6 +993,7 @@
 	d = PyModule_GetDict(m);
 	v = run_mod(mod, filename, d, d, flags, arena);
 	PyArena_Free(arena);
+	flush_io();
 	if (v == NULL) {
 		PyErr_Print();
 		return -1;
@@ -1082,6 +1084,7 @@
 		v = PyRun_FileExFlags(fp, filename, Py_file_input, d, d,
 				      closeit, flags);
 	}
+	flush_io();
 	if (v == NULL) {
 		PyErr_Print();
 		ret = -1;
@@ -1513,7 +1516,6 @@
 		return NULL;
 	v = PyEval_EvalCode(co, globals, locals);
 	Py_DECREF(co);
-	flush_io();
 	return v;
 }
 
@@ -1546,7 +1548,6 @@
 	if (v && flags)
 		flags->cf_flags |= (co->co_flags & PyCF_MASK);
 	Py_DECREF(co);
-	flush_io();
 	return v;
 }
 
