diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index bbff363f54c593b7dfda870e311fe881c1a1dc2a..9d60dde672e6540bf8abd3fdbf197ca4ee03ebbd 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -988,15 +988,26 @@ namespace LLError
 		return std::string(s, where + p.size());
 	}
 	
+	void replaceChar(std::string& s, char old, char replacement)
+	{
+		std::string::size_type i = 0;
+		std::string::size_type len = s.length();
+		for ( ; i < len; i++ )
+		{
+			if (s[i] == old)
+			{
+				s[i] = replacement;
+			}
+		}
+	}
+
 	std::string abbreviateFile(const std::string& filePath)
 	{
 		std::string f = filePath;
-
 #if LL_WINDOWS
-		static std::string indra_prefix = "indra\\";
-#else
-		static std::string indra_prefix = "indra/";
+		replaceChar(f, '\\', '/');
 #endif
+		static std::string indra_prefix = "indra/";
 		f = removePrefix(f, indra_prefix);
 
 #if LL_DARWIN