diff --git a/tools/worldload.lisp b/tools/worldload.lisp
index 4b782e4cce021fa3a8a75084c1cc80a301a63fb3..bbf868902efccdcdafe8db5c1277647819fd7f8e 100644
--- a/tools/worldload.lisp
+++ b/tools/worldload.lisp
@@ -33,10 +33,13 @@
 ;;; Get some data on this core.
 ;;;
 (write-string "What is the current lisp-implementation-version? ")
+(force-output)
 (set '*lisp-implementation-version* (read-line))
 (write-string "What is the compiler version? ")
+(force-output)
 (set 'compiler-version (read-line))
 (write-string "What is the Hemlock version? ")
+(force-output)
 (set '*hemlock-version* (read-line))
 
 ;;;
@@ -45,7 +48,6 @@
 
 (export 'ed)
 
-(load "code:run-program")
 (load "code:lfloatcon")
 (load "code:spirrat")
 (load "code:foreign")
@@ -67,6 +69,10 @@
 ;;;
 (load-foreign nil)
 
+;;; This has to occur after the call to LOAD-FOREIGN.
+;;;
+(load "code:run-program")
+
 #|
 ;;; CLX.
 ;;;