diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp
index ca2d3f918156a7f59e2905baa1f29c394c3856a1..e8616a9be6bd8f0455bb0b9229448ef6646e8f25 100644
--- a/indra/llcommon/llsys.cpp
+++ b/indra/llcommon/llsys.cpp
@@ -188,22 +188,30 @@ LLOSInfo::LLOSInfo() :
 				 if(osvi.wProductType == VER_NT_WORKSTATION)
 					mOSStringSimple = "Microsoft Windows XP x64 Edition ";
 				 else
-					 mOSStringSimple = "Microsoft Windows Server 2003 ";
+					mOSStringSimple = "Microsoft Windows Server 2003 ";
 			}
-			else if(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion <= 1)
+			else if(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion <= 2)
 			{
 				if(osvi.dwMinorVersion == 0)
 				{
-					mOSStringSimple = "Microsoft Windows Vista ";
+					if(osvi.wProductType == VER_NT_WORKSTATION)
+						mOSStringSimple = "Microsoft Windows Vista ";
+					else
+						mOSStringSimple = "Windows Server 2008 ";
 				}
 				else if(osvi.dwMinorVersion == 1)
 				{
-					mOSStringSimple = "Microsoft Windows 7 ";
+					if(osvi.wProductType == VER_NT_WORKSTATION)
+						mOSStringSimple = "Microsoft Windows 7 ";
+					else
+						mOSStringSimple = "Windows Server 2008 R2 ";
 				}
-
-				if(osvi.wProductType != VER_NT_WORKSTATION)
+				else if(osvi.dwMinorVersion == 2)
 				{
-					mOSStringSimple += "Server ";
+					if(osvi.wProductType == VER_NT_WORKSTATION)
+						mOSStringSimple = "Microsoft Windows 8 ";
+					else
+						mOSStringSimple = "Windows Server 2012 ";
 				}
 
 				///get native system info if available..
@@ -308,8 +316,7 @@ LLOSInfo::LLOSInfo() :
 	std::string compatibility_mode;
 	if(got_shell32_version)
 	{
-		if(osvi.dwMajorVersion != shell32_major 
-			|| osvi.dwMinorVersion != shell32_minor)
+		if(osvi.dwMajorVersion != shell32_major || osvi.dwMinorVersion != shell32_minor)
 		{
 			compatibility_mode = llformat(" compatibility mode. real ver: %d.%d (Build %d)", 
 											shell32_major,