diff --git a/uiop/os.lisp b/uiop/os.lisp
index fb65496149e3d7941cf091647c9a4b3a01562700..aa855ae100bd4e8045db2b3fbff797bccec07c1d 100644
--- a/uiop/os.lisp
+++ b/uiop/os.lisp
@@ -229,7 +229,12 @@ then returning the non-empty string value of the variable"
         (multiple-value-bind (major minor) (sct:get-system-version "System")
           (format nil "~D.~D" major minor))
         #+mcl (subseq s 8) ; strip the leading "Version "
-        #+mkcl (or (mkcl:git-describe-this-mkcl) s)
+        ;; seems like there should be a shorter way to do this, like ACALL.
+        #+mkcl (or
+                (let ((fname (find-symbol* '#:git-describe-this-mkcl :mkcl nil)))
+                  (when (and fname (fboundp fname))
+                    (funcall fname)))
+                s)
         s))))
 
   (defun implementation-identifier ()