diff --git a/test/run-tests.sh b/test/run-tests.sh
index 300232990852b253dee4176f9ee563cfe1ad2ca9..3d081f30943917faec127b8bc3df076b0327b74e 100755
--- a/test/run-tests.sh
+++ b/test/run-tests.sh
@@ -317,6 +317,8 @@ valid_upgrade_test_p () {
 }
 run_upgrade_tests () {
     cd ${ASDFDIR}
+    ASDF_OUTPUT_TRANSLATIONS="(:output-translations (\"${ASDFDIR}\" (\"${ASDFDIR}/build/fasls/\" :implementation \"asdf/\")) (t (\"${ASDFDIR}/build/fasls/\" :implementation \"root/\")) :ignore-inherited-configuration)"
+    export ASDF_OUTPUT_TRANSLATIONS
     su=test/script-support.lisp
     for tag in `upgrade_tags` ; do
         for method in `upgrade_methods` ; do
diff --git a/test/script-support.lisp b/test/script-support.lisp
index 605248b0494d9b491d02af18841a9bcd53b31f75..ae049dfd18c567d599ed162e7df9e6ea79b87fb5 100644
--- a/test/script-support.lisp
+++ b/test/script-support.lisp
@@ -448,9 +448,11 @@ is bound, write a message and exit on an error.  If
 
 (defun clean-asdf-system ()
   ;; If compiled by an antique ASDFs without output translations:
-  (acall :delete-file-if-exists (compile-file-pathname (acall :subpathname *asdf-directory* "build/asdf.fasl")))
-  ;; If compiled by a ASDF2 or later with output translations:
-  (acall :delete-file-if-exists (resolve-output "asdf" "build" "asdf.fasl")))
+  (flet ((d (x) (acall :delete-file-if-exists x)))
+    (let ((asdf-fasl (compile-file-pathname (asdf-lisp))))
+      (d asdf-fasl)
+      (d (acall :apply-output-translations asdf-fasl))
+      (d (asdf-fasl)))))
 
 (defun load-asdf-lisp-clean ()
   (load-asdf-lisp)
@@ -470,8 +472,8 @@ is bound, write a message and exit on an error.  If
   (when (asym :initialize-output-translations)
     (acall :initialize-output-translations
            `(:output-translations
-             (,(namestring *asdf-directory*) ,(output-location "asdf"))
-             (t ,(output-location "root"))
+             (,(acall :wilden *asdf-directory*) ,(acall :wilden (resolve-output "asdf/")))
+             (t ,(acall :wilden (resolve-output "root")))
              :ignore-inherited-configuration)))
   (when (asym :*central-registry*)
     (set (asym :*central-registry*) `(,*test-directory*)))