diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp
index be0a875848903cee851e3e2dac7a57f5f1b69dd7..57c05405dbc70c807b6b967109e3695746bd7e93 100644
--- a/indra/llappearance/llavatarappearance.cpp
+++ b/indra/llappearance/llavatarappearance.cpp
@@ -287,8 +287,6 @@ LLAvatarAppearance::~LLAvatarAppearance()
 	if (mRoot)
     {
         mRoot->removeAllChildren();
-        delete mRoot;
-		mRoot = nullptr;
     }
 	mJointMap.clear();
 
@@ -308,6 +306,9 @@ LLAvatarAppearance::~LLAvatarAppearance()
 	}
 	std::for_each(mMeshLOD.begin(), mMeshLOD.end(), DeletePointer());
 	mMeshLOD.clear();
+
+    delete mRoot;
+    mRoot = nullptr;
 }
 
 //static