diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 3aac0f428e..d755d84d92 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2073,7 +2073,9 @@ void RemoveObjectEventsOutsideView(void) { struct ObjectEvent *objectEvent = &gObjectEvents[i]; - if (objectEvent->active && !objectEvent->isPlayer) + // Followers should not go OOB, or their sprites may be freed early during a cross-map scripting event, + // such as Wally's Ralts catch sequence + if (objectEvent->active && !objectEvent->isPlayer && objectEvent->localId != OBJ_EVENT_ID_FOLLOWER) RemoveObjectEventIfOutsideView(objectEvent); } }