diff --git a/footer.lisp b/footer.lisp
index f26c0bfb4a6267d70a5c82c9ac5040c4d7deaada..48a80e424cd061245f80f6dc7dc268987d71656d 100644
--- a/footer.lisp
+++ b/footer.lisp
@@ -9,8 +9,8 @@
   #+(or abcl clasp cmucl clozure ecl mkcl sbcl)
   (:import-from #+abcl :sys #+(or clasp cmucl ecl) :ext #+clozure :ccl #+mkcl :mk-ext #+sbcl sb-ext
 		#:*module-provider-functions*
-		#+(or clasp ecl) #:*load-hooks*)
-  #+mkcl (:import-from :si #:*load-hooks*))
+		#+ecl #:*load-hooks*)
+  #+(or clasp mkcl) (:import-from :si #:*load-hooks*))
 
 (in-package :asdf/footer)
 
diff --git a/test/script-support.lisp b/test/script-support.lisp
index 788c2dcb69629289bc5f7d65ff6e9e559adf9cf4..963db83788cb768b0730e0b8851ae87bf2b21d64 100644
--- a/test/script-support.lisp
+++ b/test/script-support.lisp
@@ -42,6 +42,10 @@ Some constraints:
 (proclaim '(optimize (speed #-gcl 2 #+gcl 1) (safety #-gcl 3 #+gcl 0) #-(or allegro gcl genera) (debug 3)
                      #+(or cmucl scl) (c::brevity 2) #+(or cmucl scl) (ext:inhibit-warnings 3)))
 
+#+clasp
+(unless (assoc "script" core:*load-hooks* :test #'equal)
+  (push (cons "script" 'core:load-source) core:*load-hooks*))
+
 (defparameter *trace-symbols*
   `(;; If you want to trace some stuff while debugging ASDF,
     ;; here's a nice place to say what.
@@ -254,8 +258,9 @@ Some constraints:
         (:case-sensitive-lower :mlisp)
         (:case-insensitive-upper :alisp))
       #+armedbear :abcl
-      #+(or clasp ecl) (or #+ecl-bytecmp :ecl_bytecodes :ecl)
+      #+ecl (or #+ecl-bytecmp :ecl_bytecodes :ecl)
       #+clisp :clisp
+      #+clasp :clasp
       #+clozure :ccl
       #+cmucl :cmucl
       #+corman :cormanlisp