diff --git a/action.lisp b/action.lisp
index 049176b42a54661c12a62933eee449b61df8638d..67725bd9cd32cc810572975515b2ce57d88f8149 100644
--- a/action.lisp
+++ b/action.lisp
@@ -253,8 +253,8 @@ The class needs to be updated for ASDF 3.1 and specify appropriate propagation m
       ;; or non-propagation through an appropriate mixin will be downward and sideway.
       ,@(unless (typep o '(or downward-operation upward-operation sideway-operation
                               selfward-operation non-propagating-operation))
-          `(,@(downward-operation-depends-on o c)
-            ,@(sideway-operation-depends-on o c)))))
+          `(,@(sideway-operation-depends-on o c)
+            ,@(when (typep c 'parent-component) (downward-operation-depends-on o c))))))
 
   (defmethod downward-operation ((o operation)) nil)
   (defmethod sideway-operation ((o operation)) nil))