diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index cba75f1aa3..d87091c364 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -2332,13 +2332,15 @@ namespace OpenSim.Region.Framework.Scenes if (e == null || attachment) // Single { SceneObjectGroup g = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); - - g.RootPart.AttachPoint = g.RootPart.Shape.State; - g.RootPart.AttachOffset = g.AbsolutePosition; - g.RootPart.AttachRotation = g.GroupRotation; - if (g.RootPart.Shape.PCode != (byte)PCode.NewTree && - g.RootPart.Shape.PCode != (byte)PCode.Tree) - g.RootPart.Shape.State = 0; + if (!attachment) + { + g.RootPart.AttachPoint = g.RootPart.Shape.State; + g.RootPart.AttachOffset = g.AbsolutePosition; + g.RootPart.AttachRotation = g.GroupRotation; + if (g.RootPart.Shape.PCode != (byte)PCode.NewTree && + g.RootPart.Shape.PCode != (byte)PCode.Tree) + g.RootPart.Shape.State = 0; + } objlist.Add(g); veclist.Add(new Vector3(0, 0, 0));