diff --git a/cache.lisp b/cache.lisp
index 86a6317595364dc8c6133a6a34f9d69c8592e71d..018ce8adf2f843adb6f19153fb2195bdda6e8d2d 100644
--- a/cache.lisp
+++ b/cache.lisp
@@ -6,7 +6,8 @@
   (:export #:get-file-stamp #:compute-file-stamp #:register-file-stamp
            #:set-asdf-cache-entry #:unset-asdf-cache-entry #:consult-asdf-cache
            #:do-asdf-cache #:normalize-namestring
-           #:call-with-asdf-cache #:with-asdf-cache #:*asdf-cache*))
+           #:call-with-asdf-cache #:with-asdf-cache #:*asdf-cache*
+           #:clear-asdf-cache))
 (in-package :asdf/cache)
 
 ;;; This stamp cache is useful for:
@@ -23,6 +24,10 @@
                (setf (gethash key *asdf-cache*) value-list)
                value-list)))
 
+  (defun clear-asdf-cache ()
+    (when *asdf-cache*
+      (setf *asdf-cache* (make-hash-table :test 'equal))))
+
   (defun unset-asdf-cache-entry (key)
     (when *asdf-cache*
       (remhash key *asdf-cache*)))