diff --git a/crates/bevy_ecs/src/schedule/schedule.rs b/crates/bevy_ecs/src/schedule/schedule.rs index c448093431aad..e6aa0eca0d1f1 100644 --- a/crates/bevy_ecs/src/schedule/schedule.rs +++ b/crates/bevy_ecs/src/schedule/schedule.rs @@ -271,7 +271,9 @@ impl Schedule { /// This prevents overflow and thus prevents false positives. pub(crate) fn check_change_ticks(&mut self, change_tick: Tick) { for system in &mut self.executable.systems { - system.check_change_tick(change_tick); + if !is_apply_deferred(system) { + system.check_change_tick(change_tick); + } } for conditions in &mut self.executable.system_conditions {