diff --git a/asdf.lisp b/asdf.lisp
index cbdbabc09d2ce578a41235f20b1643a393dfd39c..7ef02e59b1c29b7e2155d0b1e1ef3e9ae8a88e6e 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -2796,12 +2796,10 @@ directive.")
                (let ((p (make-pathname :directory '(:relative))))
                  (if wilden (wilden p) p))))
             ((eql :home) (user-homedir))
-            ((eql :here) (resolve-location
-                          (aif *here-directory*
-                               it
-                               ;; this is used to give semantics to :here when used
-                               ;; interactively.
-                               (default-directory))
+            ((eql :here)
+             (resolve-location (or *here-directory*
+                                   ;; give semantics in the case of use interactively
+                                   :default-directory)
                           :directory t :wilden nil))
             ((eql :user-cache) (resolve-location *user-cache* :directory t :wilden nil))
             ((eql :system-cache) (resolve-location *system-cache* :directory t :wilden nil))
@@ -3490,7 +3488,7 @@ with a different configuration, so the configuration would be re-read then."
 (defmethod process-source-registry ((pathname pathname) &key inherit register)
   (cond
     ((directory-pathname-p pathname)
-     (let ((*here-directory* pathname))
+     (let ((*here-directory* (truenamize pathname)))
        (process-source-registry (validate-source-registry-directory pathname)
                                 :inherit inherit :register register)))
     ((probe-file pathname)
@@ -3544,7 +3542,7 @@ with a different configuration, so the configuration would be re-read then."
 (defun* flatten-source-registry (&optional parameter)
   (remove-duplicates
    (while-collecting (collect)
-     (let ((*default-pathname-defaults* (default-directory)))                
+     (let ((*default-pathname-defaults* (default-directory)))
        (inherit-source-registry
         `(wrapping-source-registry
           ,parameter