diff --git a/asdf.lisp b/asdf.lisp
index 1e1118d..6d84d02 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -900,7 +900,7 @@ the head of the tree"))
 				       forced
 				       (do-one-dep op (second d) (third d))))
 				     (t
-				      (error "Dependencies must be (:version <version>), (:feature <feature>), or a name"))))
+				      (error "Bad dependency ~a.  Dependencies must be (:version <version>), (:feature <feature>), or a name" d))))
                               (t
                                (appendf forced (do-one-dep op d nil)))))))))
       (aif (component-visited-p operation c)
@@ -1122,6 +1122,9 @@ the head of the tree"))
 
 (defclass test-op (operation) ())
 
+(defmethod component-depends-on :around ((o test-op) (c system))
+  (cons `(load-op ,(component-name c)) (call-next-method)))
+
 (defmethod perform ((operation test-op) (c component))
   nil)
 
@@ -1132,6 +1135,7 @@ the head of the tree"))
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; invoking operations
 
+
 (defun operate (operation-class system &rest args &key (verbose t) version force
                 &allow-other-keys)
   (declare (ignore force))
