diff --git a/Makefile b/Makefile
index 9732f513792900d3a9bab9b2cf9460f784006e67..7fd67ec8639be0e83c0f64e7e112dcd1210cac0f 100644
--- a/Makefile
+++ b/Makefile
@@ -105,12 +105,14 @@ test-upgrade:
 	    echo "Testing upgrade from ASDF $${tag} using method $$x" ; \
 	    git show $${tag}:asdf.lisp > tmp/asdf-$${tag}.lisp ; \
 	    case ${lisp}:$$tag:$$x in \
-	      ecl:1.*|ecl:2.00*|ecl:2.01[0-6]:*|ecl:2.20:*) \
-		: Skip, because of various ASDF issues ;; \
 	      ccl:1.*|ccl:2.0[01]*) \
 		: Skip, because ccl broke old asdf ;; \
 	      cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-4]:*) \
 		: Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade ;; \
+	      ecl:1.*|ecl:2.0[01]*|ecl:2.20:*) \
+		: Skip, because of various ASDF issues ;; \
+	      mkcl:1.*|mkcl:2.0[01]*|mkcl:2.2[0-3]:*) \
+		: Skip, because MKCL is only supported starting with 2.24 ;; \
 	      *) (set -x ; \
                   case $$x in \
 		    load-system) l="$$lo (asdf-test::load-asdf-system)" ;; \
diff --git a/test/script-support.lisp b/test/script-support.lisp
index 2b3a17721ecdaa82e78e748ff316e429f32d5fcb..a36150304f9af42fb7079bac02f73d0dc9193c87 100644
--- a/test/script-support.lisp
+++ b/test/script-support.lisp
@@ -152,15 +152,17 @@ is bound, write a message and exit on an error.  If
 (defun register-directory (dir)
   (pushnew dir (symbol-value (find-symbol (string :*central-registry*) :asdf))))
 
-(defun asdf-load (x)
+(defun asdf-load (x &key verbose)
   (let ((xoos (find-symbol (string :oos) :asdf))
-        (xload-op (find-symbol (string :load-op) :asdf)))
-    (funcall xoos xload-op x :verbose t)))
+        (xload-op (find-symbol (string :load-op) :asdf))
+        (*load-print* verbose)
+        (*load-verbose* verbose))
+    (funcall xoos xload-op x :verbose verbose)))
 
-(defun load-asdf-system ()
+(defun load-asdf-system (&rest keys)
   (quietly
    (register-directory *asdf-directory*)
-   (asdf-load :asdf)))
+   (apply 'asdf-load :asdf keys)))
 
 (defun testing-asdf (thunk)
   (quit-on-error