diff --git a/asdf.lisp b/asdf.lisp
index c8aaab45f81d322aaedbb82ed4cf2f0711bc9289..c423c986209ad8921c473d6f99fabb69e235fab0 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -3157,7 +3157,8 @@ located."
                    "Invalid relative pathname ~A~@[ ~?~]" x fmt args))
        x))
 (defun* split-absolute-pathnames (x fmt &rest args)
-  (loop :for dir :in (split-string x :separator (inter-directory-separator))
+  (loop :for dir :in (split-string
+                      x :separator (string (inter-directory-separator)))
     :do (apply 'ensure-absolute-pathname* dir fmt args)
     :collect dir))
 (defun getenv-absolute-pathname (x &aux (s (getenv x)))
diff --git a/test/test-utilities.script b/test/test-utilities.script
index 55d98297365eae4c483271902a4e665dc6ed9bdc..30197eff81cfac4806defbb59cec3f33b0992c4b 100644
--- a/test/test-utilities.script
+++ b/test/test-utilities.script
@@ -42,4 +42,6 @@
  (asdf::version-satisfies (asdf:asdf-version) "2.000"))
 (assert
  (not (asdf::version-satisfies (asdf:asdf-version) "666")))
+(assert
+  (equal (asdf::split-absolute-pathnames "/foo:/bar" "baz") '("/foo" "/bar")))
 )