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