diff --git a/parse-defsystem.lisp b/parse-defsystem.lisp
index 496486c8840565052e34cf284e4d8c58c1b8d0d1..2cf2b02c58eb0fce2d87fb328b2257d3b3c9423b 100644
--- a/parse-defsystem.lisp
+++ b/parse-defsystem.lisp
@@ -104,7 +104,7 @@
                (warn (compatfmt "~@<Invalid :version specifier ~S~@[ for component ~S~]~@[ in ~S~]~@[ from file ~S~]~@[, ~A~]~@:>")
                      form component parent pathname continuation))
              (invalid-parse (control &rest args)
-               (unless (builtin-system-p (find-component parent component))
+               (unless (if-let (target (find-component parent component)) (builtin-system-p target))
                  (apply 'warn control args)
                  (invalid))))
       (if-let (v (typecase form