This is a problem thats happened since open beta. I'm sure you've had complaints about this, so here's the problem and fix.
When a player is battling against a creature and dies/runs away from it, the creature has a timer telling it to go back to its point of origin after not receiving any actions from a player, but the position on the map from the last battle isn't being reset. As soon as it's hit by another player, the creature will run to its last known X-Y position on the map and from there runs to its new assailant. This is because the last X-Y position where it received/performed an action before its return script isn't being reset by a timer as well.
To put it short and simple, there needs to be a timer that resets the creatures position on a map after it survives an encounter with a player.