diff --git a/asdf.lisp b/asdf.lisp
index ef34f1059e15bffbac9d96961033cbad08638d16..66f975dfe61e9978efe99a0e5f588047b9a09b03 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -816,7 +816,7 @@ to `~a` which is not a directory.~@:>"
                       ;; ON-DISK), but CMUCL barfs on that.
                       on-disk
                       *package*)
-                     (load asd))
+                     (load on-disk))
                    (error 'missing-definition :name name :pathname on-disk)))
           (delete-package package))))
     (let ((in-memory (system-registered-p name)))