diff --git a/parse-defsystem.lisp b/parse-defsystem.lisp
index 49f2e12b1862129306367bb5c7d395bf6b055f6c..c500f50976f1436801389c3b93be5b08cda134c6 100644
--- a/parse-defsystem.lisp
+++ b/parse-defsystem.lisp
@@ -250,8 +250,9 @@ system names contained using COERCE-NAME. Return the result."
                                    :name name :source-file source-file))
              (component-options
               (remove-plist-keys '(:defsystem-depends-on :class) options))
-             (defsystem-dependencies (loop :for spec :in defsystem-depends-on :collect
-                                           (resolve-dependency-spec nil spec))))
+             (defsystem-dependencies (loop :for spec :in defsystem-depends-on
+                                           :when (resolve-dependency-spec nil spec)
+                                           :collect :it)))
         ;; cache defsystem-depends-on in canonical form
         (when defsystem-depends-on
           (setf component-options
diff --git a/test/test-defsystem-depends-on.script b/test/test-defsystem-depends-on.script
index e6eae133a5c984d6c896361b4b46244095ad8d54..733bb2dbdb43a460d6ab86e48384517a79d01cb7 100644
--- a/test/test-defsystem-depends-on.script
+++ b/test/test-defsystem-depends-on.script
@@ -1,5 +1,7 @@
 ;;-*- Lisp -*-
 
+(in-package :asdf-test)
+
 (def-test-system test-defsystem-depends-on-1
   :defsystem-depends-on (test-asdf/l-file)
   :default-component-class "l-file:cl-source-file.l"
@@ -32,6 +34,7 @@
 (defparameter *newsym* (gentemp (symbol-name 'feature) :keyword))
 
 ;;; FIXME: the following form triggers bug https://bugs.launchpad.net/asdf/+bug/1445638
-#+nil
 (eval `(def-test-system test-defsystem-depends-on-4
          :defsystem-depends-on ((:feature ,*newsym* "test-defsystem-depends-on-3"))))
+
+(assert (find-system "test-defsystem-depends-on-4"))