diff --git a/loopy/kernel/instruction.py b/loopy/kernel/instruction.py
index 6e8f089051a345fc3c1ee02f115847f4de36727f..19af767ac28734fa193beee64d23cf688d45fd51 100644
--- a/loopy/kernel/instruction.py
+++ b/loopy/kernel/instruction.py
@@ -1319,7 +1319,10 @@ class CInstruction(InstructionBase):
         for subscript_deps in self.assignee_subscript_deps():
             result = result | subscript_deps
 
-        return frozenset(result) | self.predicates
+        for pred in self.predicates:
+            result = result | get_dependencies(pred)
+
+        return frozenset(result)
 
     def reduction_inames(self):
         return set()