diff --git a/Makefile b/Makefile
index 62d5190145c60e92174da821ee9f3da486a42193..9d0d748eb7f37687290c92a2825d7d2b700ba623 100644
--- a/Makefile
+++ b/Makefile
@@ -105,7 +105,7 @@ test-upgrade:
 	for tag in 1.37 1.97 1.369 `git tag -l '2.0??'` `git tag -l '2.??'` ; do \
 	  rm -f $$fa ; \
 	  for x in load-system load-lisp load-lisp-compile-load-fasl load-fasl just-load-fasl ; do \
-	    lo="(handler-bind ((warning #'muffle-warning)) (load \"tmp/asdf-$${tag}.lisp\"))" ; \
+	    lo="(asdf-test::load-old-asdf \"$${tag}\")" ; \
 	    echo "Testing upgrade from ASDF $${tag} using method $$x" ; \
 	    git show $${tag}:asdf.lisp > tmp/asdf-$${tag}.lisp ; \
 	    case ${lisp}:$$tag:$$x in \
diff --git a/test/script-support.lisp b/test/script-support.lisp
index aa0ba8bc5b0b18066259236ae0c988519a938628..d83403bbcb4a9fcf3aec67da26c874be54ac110a 100644
--- a/test/script-support.lisp
+++ b/test/script-support.lisp
@@ -53,6 +53,16 @@
                      :defaults *asdf-directory*)
       *asdf-lisp*))))
 
+(defun load-old-asdf (tag)
+  (let ((old-asdf
+          (merge-pathnames
+           (make-pathname :directory `(:relative "tmp")
+                          :name (format nil "asdf-~A" tag)
+                          :defaults *asdf-directory*)
+           *asdf-lisp*)))
+    (handler-bind (#+sbcl (sb-kernel:redefinition-warning #'muffle-warning))
+      (load old-asdf))))
+
 (defun load-asdf ()
   (load *asdf-fasl*)
   (use-package :asdf :asdf-test)
diff --git a/test/test-bundle.script b/test/test-bundle.script
index 2f935b1268dcf2e4ef90c2dafcaa6e733babe761..3637e54175b8da29b7f0d7e99edf835324a5593f 100644
--- a/test/test-bundle.script
+++ b/test/test-bundle.script
@@ -14,7 +14,7 @@
  (when (find-package :test-package) (delete-package :test-package))
  (asdf:defsystem :test-bundle-1 :components ((:file "file1") (:file "file3")))
  (asdf:defsystem :test-bundle-2 :depends-on (:test-bundle-1) :components ((:file "file2")))
- #-(and ecl ecl-bytecmp)
+ #-(or abcl (and ecl ecl-bytecmp))
  (let* ((op (make-instance 'asdf::fasl-op))
         (bundle-1 (asdf:output-file op (find-system :test-bundle-1)))
         (bundle-2 (asdf:output-file op (find-system :test-bundle-2))))
diff --git a/test/test1.script b/test/test1.script
index 7dd5d993a10a0a7e7d9e95cf46bbcd930b9eb04e..22186edf783f623157a3a0eccf81f292e2b2b8fb 100644
--- a/test/test1.script
+++ b/test/test1.script
@@ -19,9 +19,9 @@
    (assert (symbol-value (find-symbol (symbol-name :*file1*) :test-package)))
 
    (DBG "now remove file2 that depends-on file1 check that file1 is _not_ recompiled, but file2 is")
-   (asdf::run-shell-command "rm -f ~A" (namestring file2))
+   (asdf::delete-file-if-exists file2)
    ;; filesystem mtime has 1 second granularity. Make sure even fast machines see a difference.
-   (sleep 1)
+   (sleep 1.5)
    (asdf:operate 'asdf:load-op 'test1)
    (assert (= file1-date (file-write-date file1)))
    (assert (< file2-date (file-write-date file2)))