Index: source/simulation2/components/CCmpUnitMotion.cpp =================================================================== --- source/simulation2/components/CCmpUnitMotion.cpp +++ source/simulation2/components/CCmpUnitMotion.cpp @@ -816,6 +816,9 @@ if (m_State == STATE_IDLE) return; + if (m_PathState == PATHSTATE_FOLLOWING && PossiblyAtDestination()) + MoveSucceeded(); + CmpPtr cmpPosition(GetEntityHandle()); if (!cmpPosition || !cmpPosition->IsInWorld()) return; @@ -856,12 +859,6 @@ if (m_PathState == PATHSTATE_FOLLOWING) { - if (PossiblyAtDestination()) - { - m_State = STATE_STOPPING; - return; - } - // We may need to recompute our path sometimes (e.g. if our target moves). // Since we request paths asynchronously anyways, this does not need to be done before moving. if (IsFormationMember())