         (maphash (lambda (local-repo _)
                    (goto-char (point-min))
                    (when (re-search-forward
-                          (format "^\\./%s/" (regexp-quote local-repo))
+                          (format "^%s/"
+                                  (regexp-quote local-repo))
                           nil 'noerror)
                      (puthash
                       local-repo t straight--cached-package-modifications)))

                         (setq mtime-or-file (straight--make-mtime mtime)))
                        (_ (error "Unexpected `straight-find-flavor': %S"
                                  straight-find-flavor)))
                      (setq args (append (list "-o"
                                               "-path"
                                               (format "./%s/*" local-repo)
                                               newer-or-newermt
                                               mtime-or-file
                                               "-print")
                                         args)))
                  ;; If no mtime is specified, it means the package
                  ;; definitely needs to be (re)built. Probably there
                  ;; was an error and we couldn't finish building the

        ;; already. This table maps repo names to booleans.
        (repos (make-hash-table :test #'equal))
        ;; The systematically generated arguments for find(1).
        (args-paths nil)
        (args-primaries nil)
        (args nil))
    (dolist (package straight--eagerly-checked-packages)
      (when-let (build-info (gethash package straight--build-cache))
