diff --git a/crates/bevy_ecs/src/world/mod.rs b/crates/bevy_ecs/src/world/mod.rs index 4ef3f587379be..4581e0218f23c 100644 --- a/crates/bevy_ecs/src/world/mod.rs +++ b/crates/bevy_ecs/src/world/mod.rs @@ -1751,7 +1751,9 @@ impl World { label: &dyn ScheduleLabel, f: impl FnOnce(&mut World, &mut Schedule) -> R, ) -> Result { - let Some((extracted_label, mut schedule)) = self.resource_mut::().remove_entry(label) else { + let Some((extracted_label, mut schedule)) + = self.get_resource_or_insert_with(Schedules::default).remove_entry(label) + else { return Err(ScheduleNotFoundError(label.dyn_clone())); };