diff --git a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator .cpp b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator .cpp index f9cff44047b..29feaf46a57 100644 --- a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator .cpp +++ b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator .cpp @@ -77,6 +77,10 @@ bool ChaseMovementGenerator::Update(Unit* owner, uint32 diff) if (!target || !target->IsInWorld()) return false; + // the owner might've selected a different target (feels like we shouldn't check this here...) + if (owner->GetVictim() != target) + return false; + // the owner might be unable to move (rooted or casting), pause movement if (owner->HasUnitState(UNIT_STATE_NOT_MOVE) || owner->IsMovementPreventedByCasting()) {