diff --git a/indra/llcharacter/lljoint.cpp b/indra/llcharacter/lljoint.cpp
index 07fcd9970124662d46c0377c21508aac4d530fb3..e2f512f86e0e57722cc6cc799eefccf07bbd1861 100644
--- a/indra/llcharacter/lljoint.cpp
+++ b/indra/llcharacter/lljoint.cpp
@@ -428,26 +428,6 @@ void LLJoint::addAttachmentPosOverride( const LLVector3& pos, const LLUUID& mesh
 	{
 		return;
 	}
-    // BENTO
-    // Not clear pelvis overrides are meaningful/useful.
-    //if (mName == "mPelvis")
-    //{
-    //    return;
-    //}
-
-#if 0 // AXON MAINT-8554 - this may be overly restrictive for large models
-    LLVector3 constrained_pos = LLVector3(llclamp(pos[0],-LL_MAX_PELVIS_OFFSET, LL_MAX_PELVIS_OFFSET),
-                                          llclamp(pos[1],-LL_MAX_PELVIS_OFFSET, LL_MAX_PELVIS_OFFSET),
-                                          llclamp(pos[2],-LL_MAX_PELVIS_OFFSET, LL_MAX_PELVIS_OFFSET));
-    if (constrained_pos != pos)
-    {
-        LL_DEBUGS("Avatar") << mesh_id << " joint " << getName() << " attachment pos override constrained to " 
-                            << constrained_pos << " was " << pos << LL_ENDL;
-    }
-#else
-    LLVector3 constrained_pos = pos;
-#endif
-    
     LLVector3 before_pos;
     LLUUID before_mesh_id;
     bool has_active_override_before = hasAttachmentPosOverride( before_pos, before_mesh_id );
@@ -459,7 +439,7 @@ void LLJoint::addAttachmentPosOverride( const LLVector3& pos, const LLUUID& mesh
 		}
 		m_posBeforeOverrides = getPosition();
 	}
-	m_attachmentPosOverrides.add(mesh_id,constrained_pos);
+	m_attachmentPosOverrides.add(mesh_id,pos);
     LLVector3 after_pos;
     LLUUID after_mesh_id;
     hasAttachmentPosOverride(after_pos, after_mesh_id);
@@ -468,7 +448,7 @@ void LLJoint::addAttachmentPosOverride( const LLVector3& pos, const LLUUID& mesh
         active_override_changed = true; 
         if (do_debug_joint(getName()))
         {
-            LL_DEBUGS("Avatar") << "av " << av_info << " joint " << getName() << " addAttachmentPosOverride for mesh " << mesh_id << " pos " << constrained_pos << LL_ENDL;
+            LL_DEBUGS("Avatar") << "av " << av_info << " joint " << getName() << " addAttachmentPosOverride for mesh " << mesh_id << " pos " << pos << LL_ENDL;
         }
         updatePos(av_info);
     }
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index ed7017bd5cee21b5b989a8967dc193552f315ee8..25cfb598e79b4bc0b0bcee95fd81a74fa7187ee7 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -342,24 +342,9 @@ void LLPanelObject::getState( )
 	}
 
 	// can move or rotate only linked group with move permissions, or sub-object with move and modify perms
-#if 0
-    // AXON REVIEW BEFORE RELEASE, behavior during edit is glitchy.
-    // it's not entirely clear what the motivation is to have 3
-    // different rules for enablement. At least the difference between
-    // move and rotate looks like just a parens error, have updated accordingly.
-	BOOL enable_move	= objectp->permMove() && !objectp->isPermanentEnforced() &&
-        ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) &&
-        ((objectp->permModify() && !objectp->isAttachment()) || !gSavedSettings.getBOOL("EditLinkedParts"));
-	BOOL enable_scale	= objectp->permMove() && !objectp->isPermanentEnforced() &&
-        ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && objectp->permModify();
-	BOOL enable_rotate	= objectp->permMove() && !objectp->isPermanentEnforced() &&
-        ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) &&
-        ((objectp->permModify() && !objectp->isAttachment()) || !gSavedSettings.getBOOL("EditLinkedParts"));
-#else
 	BOOL enable_move	= objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
 	BOOL enable_scale	= objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && objectp->permModify();
 	BOOL enable_rotate	= objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
-#endif
 
 	S32 selected_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount();
 	BOOL single_volume = (LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME ))
diff --git a/indra/newview/llskinningutil.cpp b/indra/newview/llskinningutil.cpp
index 3d6b0ed957a48daa970013bdd396cf5bc3440db1..0fa4c2b114fbc51a208d62f7a143ba0b0c932203 100644
--- a/indra/newview/llskinningutil.cpp
+++ b/indra/newview/llskinningutil.cpp
@@ -317,7 +317,7 @@ void LLSkinningUtil::updateRiggingInfo(const LLMeshSkinInfo* skin, LLVOAvatar *a
                     LLVector4 wght;
                     S32 idx[4];
                     F32 scale = 0.0f;
-                    // AXON unpacking of weights should be pulled into a common function and optimized if possible.
+                    // FIXME unpacking of weights should be pulled into a common function and optimized if possible.
                     for (U32 k = 0; k < 4; k++)
                     {
                         F32 w = weights[k];
@@ -342,7 +342,7 @@ void LLSkinningUtil::updateRiggingInfo(const LLMeshSkinInfo* skin, LLVOAvatar *a
                             {
                                 rig_info_tab[joint_num].setIsRiggedTo(true);
 
-                                // AXON can precompute these matMuls.
+                                // FIXME could precompute these matMuls.
                                 LLMatrix4a bind_shape;
                                 bind_shape.loadu(skin->mBindShapeMatrix);
                                 LLMatrix4a inv_bind;
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 413596a514b398b1551ea423f056df9095168a59..dc11bc28e5ebf74efd44fd98e3d6a3a2eb0961b8 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -3995,7 +3995,6 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data)
 }
 
 
-// AXON make logging less spammy after issues resolved, before release.
 void process_object_animation(LLMessageSystem *mesgsys, void **user_data)
 {
 	LLUUID	animation_id;
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index a731a39bd6bd0f5a209f18b7ea8966f2d7828fc0..f963f8a0c8380a51aeaeccfbdbc08bda80b2b090 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -3720,7 +3720,7 @@ F32 LLViewerObject::recursiveGetEstTrianglesMax() const
 S32 LLViewerObject::getAnimatedObjectMaxTris() const
 {
     S32 max_tris = 0;
-    if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits")) // AXON REMOVE AFTER SERVER TESTING DONE
+    if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits")) 
     {
         max_tris = S32_MAX;
     }
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 127dfe7c605a99a7e3b521f79642acaeca0f5410..dba99c7e98a6ac070b69a7a07c1135aec089df9f 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -1300,7 +1300,7 @@ void LLVOAvatar::calculateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax)
 
     S32 box_detail = gSavedSettings.getS32("AvatarBoundingBoxComplexity");
 
-    // AXON the update_min_max function used below assumes there is a
+    // FIXME the update_min_max function used below assumes there is a
     // known starting point, but in general there isn't. Ideally the
     // box update logic should be modified to handle the no-point-yet
     // case. For most models, starting with the pelvis is safe though.
@@ -1361,7 +1361,7 @@ void LLVOAvatar::calculateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax)
                      attachment_iter != attachment->mAttachedObjects.end();
                      ++attachment_iter)
                 {
-                    // AXON Don't we need to look at children of attached_object as well?
+                    // Don't we need to look at children of attached_object as well?
                     const LLViewerObject* attached_object = (*attachment_iter);
                     if (attached_object && !attached_object->isHUDAttachment())
                     {
@@ -1418,8 +1418,8 @@ void LLVOAvatar::calculateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax)
     // Stretch bounding box by rigged mesh joint boxes
     if (box_detail>=3)
     {
-        // AXON try to cache unless something has changed about attached rigged meshes.
-        // Needs more logic based on volume states.
+        // FIXME could try to cache unless something has changed about attached rigged meshes, 
+        // but needs more logic based on volume states.
 
         //if (mRiggingInfoTab.needsUpdate())
         {
@@ -5962,13 +5962,6 @@ void LLVOAvatar::rebuildAttachmentOverrides()
 // -----------------------------------------------------------------------------
 void LLVOAvatar::updateAttachmentOverrides()
 {
-    const bool paranoid_checking = false; 	// AXON remove when testing done
-
-    if (paranoid_checking)
-    {
-        //dumpArchetypeXML(getFullname() + "_paranoid_before");
-    }
-
     LLScopedContextString str("updateAttachmentOverrides " + getFullname());
 
     LL_DEBUGS("AnimatedObjects") << "updating" << LL_ENDL;
@@ -6023,7 +6016,7 @@ void LLVOAvatar::updateAttachmentOverrides()
     }
 
 
-    if (paranoid_checking)
+#ifdef ATTACHMENT_OVERRIDE_VALIDATION
     {
         std::vector<LLVector3OverrideMap> pos_overrides_by_joint;
         std::vector<LLVector3OverrideMap> scale_overrides_by_joint;
@@ -6074,9 +6067,10 @@ void LLVOAvatar::updateAttachmentOverrides()
         }
         if (mismatched)
         {
-            LL_WARNS() << "MISMATCHED ATTACHMENT OVERRIDES, compare paranoid log files" << LL_ENDL;
+            LL_WARNS() << "MISMATCHED ATTACHMENT OVERRIDES" << LL_ENDL;
         }
     }
+#endif
 }
 
 //-----------------------------------------------------------------------------
@@ -7027,7 +7021,6 @@ U32 LLVOAvatar::getNumAnimatedObjectAttachments() const
 S32 LLVOAvatar::getMaxAnimatedObjectAttachments() const
 {
     S32 max_attach = 0;
-    // AXON REMOVE AFTER SERVER TESTING DONE
     if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits"))
     {
         max_attach = MAX_AGENT_ATTACHMENTS;