diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
index 0a01a14e67..5ae81cd071 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
@@ -161,7 +161,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
 
             writer.WriteStartElement(String.Empty, "SceneObjectGroup", String.Empty);
             writer.WriteStartElement(String.Empty, "RootPart", String.Empty);
-            sceneObject.RootPart.ToXml(writer);
+            ToOriginalXmlFormat(sceneObject.RootPart, writer);
             writer.WriteEndElement();
             writer.WriteStartElement(String.Empty, "OtherParts", String.Empty);
 
@@ -172,7 +172,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
                     if (part.UUID != sceneObject.RootPart.UUID)
                     {
                         writer.WriteStartElement(String.Empty, "Part", String.Empty);
-                        part.ToXml(writer);
+                        ToOriginalXmlFormat(part, writer);
                         writer.WriteEndElement();
                     }
                 }
@@ -184,6 +184,11 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
 
             //m_log.DebugFormat("[SERIALIZER]: Finished serialization of SOG {0}, {1}ms", Name, System.Environment.TickCount - time);
         }
+
+        protected static void ToOriginalXmlFormat(SceneObjectPart part, XmlTextWriter writer)
+        {
+            part.ToXml(writer);
+        }
         
         public static SceneObjectGroup FromXml2Format(string xmlData)
         {