diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 3cc4d143d8..8dfd34925b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4229,11 +4229,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api protected void TargetOmega(SceneObjectPart part, LSL_Vector axis, double spinrate, double gain) { - PhysicsActor pa = part.PhysActor; - if ( ( pa == null || !pa.IsPhysical ) && gain == 0.0d ) - spinrate = 0.0d; - part.UpdateAngularVelocity(axis * spinrate); - } + if(gain == 0) + { + part.UpdateAngularVelocity(Vector3.Zero); + part.ScheduleFullAnimUpdate(); + } + else + part.UpdateAngularVelocity(axis * spinrate); + } public LSL_Integer llGetStartParameter() {