diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 75e474d95e..9dadc44b5a 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4167,11 +4167,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence != null) { UUID animID = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, anim); - - if (animID.IsZero()) - presence.Animator.RemoveAnimation(anim); - else + if (animID.IsNotZero()) presence.Animator.RemoveAnimation(animID, true); + else if (MovementAnimationsForLSL.TryGetValue(anim.ToUpper(), out string lslMovementAnimation)) + { + if (presence.TryGetAnimationOverride(anim.ToUpper(), out UUID sitanimID)) + presence.Animator.RemoveAnimation(sitanimID, true); + } + else + presence.Animator.RemoveAnimation(anim); } } }