diff --git a/indra/llappearance/llavatarappearance.h b/indra/llappearance/llavatarappearance.h
index 6a4dbf3726cae1ae9a81361b81e7a5f7b9c2dee8..5aff01e859e9c49ac9d72fe37ad12a7d50e2f236 100644
--- a/indra/llappearance/llavatarappearance.h
+++ b/indra/llappearance/llavatarappearance.h
@@ -138,7 +138,7 @@ class LLAvatarAppearance : public LLCharacter
 	LLVector3			mHeadOffset; // current head position
 	LLAvatarJoint		*mRoot;
 
-	typedef std::map<std::string, LLJoint*> joint_map_t;
+	typedef boost::unordered_map<std::string, LLJoint*> joint_map_t;
 	joint_map_t			mJointMap;
 
     typedef std::map<std::string, LLVector3> joint_state_map_t;
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 69719a832d72115b93f91bc6c6f37a84e9eefba8..d875f360c91a77b81201fa95ce18e72e0979b98f 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -1652,12 +1652,12 @@ void LLVOAvatar::renderJoints()
 	std::ostringstream ostr;
 	std::ostringstream nullstr;
 
-	for (joint_map_t::iterator iter = mJointMap.begin(); iter != mJointMap.end(); ++iter)
+	for (const auto& joint_pair : mJointMap)
 	{
-		LLJoint* jointp = iter->second;
+		LLJoint* jointp = joint_pair.second;
 		if (!jointp)
 		{
-			nullstr << iter->first << " is NULL" << std::endl;
+			nullstr << joint_pair.first << " is NULL" << std::endl;
 			continue;
 		}