diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index be21417025c70870925a0b8f271e6f2501d0b065..3b793aa23c9993e1231522db4bc9e060658f288d 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -41,6 +41,7 @@
 # include <unistd.h>
 #endif // !LL_WINDOWS
 #include <vector>
+#include <unordered_map>
 #include "string.h"
 
 #include "llapp.h"
@@ -486,7 +487,7 @@ namespace LLError
 		LevelMap                            mClassLevelMap;
 		LevelMap                            mFileLevelMap;
 		LevelMap                            mTagLevelMap;
-		std::map<std::string, unsigned int> mUniqueLogMessages;
+		std::unordered_map<std::string, unsigned int> mUniqueLogMessages;
 		
 		LLError::FatalFunction              mCrashFunction;
 		LLError::TimeFunction               mTimeFunction;
@@ -1348,7 +1349,7 @@ namespace LLError
 		{
             std::ostringstream message_stream;
 
-			std::map<std::string, unsigned int>::iterator messageIter = s->mUniqueLogMessages.find(message);
+			auto messageIter = s->mUniqueLogMessages.find(message);
 			if (messageIter != s->mUniqueLogMessages.end())
 			{
 				messageIter->second++;