Changing unit ownership to a local player can cause a desync if you're not checking factors that are in sync. The lack of conditions in the trigger is very weird though. You are changing the ownership of the unit to the local player without defining who the local player is? What are you trying to achieve here, why do you use the local player? Also, it's not very good practice to name your variables "GetLocalPlayer", why don't you name it "LocalPlayer" instead for example? Note that even if you set your "udg_GetLocalPlayer" to the local player the reference itself is not to the actual local player, but the variable itself, so it becomes very misleading to name your triggers along with the functions you use to define them, as those may change.