diff --git a/contrib/abcl-asdf/abcl-asdf.lisp b/contrib/abcl-asdf/abcl-asdf.lisp
index 5ca8dbb..8f78dbf 100644
--- a/contrib/abcl-asdf/abcl-asdf.lisp
+++ b/contrib/abcl-asdf/abcl-asdf.lisp
@@ -34,22 +34,22 @@ (defun maybe-parse-mvn (component)
                asdf::version asdf::schema asdf::path) 
       component
     (when (null asdf::artifact-id) 
-      (let ((parsed (abcl-asdf::split-string name "/")))
-         (unless (or (= (length parsed) 3)
-                     (and (= (length parsed) 2)
-                          asdf::version))
-          (error "Failed to construct a mvn reference from name '~A' and version '~A'"
-                 asdf::name 
-                 (if asdf::version
-                     asdf::version
-                     "UNSPECIFED")))
-         (setf asdf::group-id (first parsed)
-               asdf::artifact-id (second parsed)
-               asdf::schema "mvn"
-               asdf::version (if (third parsed)
-                                 (third parsed)
-                                 "LATEST"))
-         (setf asdf::path (format nil "~A/~A" asdf::name asdf::version))))))
+      (let ((parsed (abcl-asdf::split-string name "/"))
+            (version "LATEST"))
+        (cond ((= (length parsed) 3)
+               (setf version (third parsed)))
+              ((and (= (length parsed) 2)
+                    (setf version (or asdf::version version))))
+              (t (error "Failed to construct a mvn reference from name '~A' and version '~A'"
+                        asdf::name 
+                        (if asdf::version
+                            asdf::version
+                            "UNSPECIFED"))))
+        (setf asdf::group-id (first parsed)
+              asdf::artifact-id (second parsed)
+              asdf::schema "mvn"
+              asdf::version version)
+        (setf asdf::path (format nil "~A/~A" asdf::name asdf::version))))))
 
 (defmethod source-file-type ((component iri) (system system))
   nil)
