diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index a0180745cc8..71d8bda0591 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -10139,6 +10139,9 @@ void Unit::CleanupBeforeRemoveFromMap(bool finalCleanup) // This needs to be before RemoveFromWorld to make GetCaster() return a valid pointer on aura removal InterruptNonMeleeSpells(true); + if (IsInWorld()) + RemoveFromWorld(); + ASSERT(GetGUID()); // A unit may be in removelist and not in world, but it is still in grid @@ -10154,9 +10157,6 @@ void Unit::CleanupBeforeRemoveFromMap(bool finalCleanup) ClearComboPointHolders(); DeleteThreatList(); getHostileRefManager().deleteReferences(); - - if (IsInWorld()) - RemoveFromWorld(); } void Unit::CleanupsBeforeDelete(bool finalCleanup)