diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake
index e618a988b831e3cdf818bdcc43964a74f4b5acba..389ded1d98401405b4ab8c173cec290d4ca82a5b 100644
--- a/indra/cmake/BuildVersion.cmake
+++ b/indra/cmake/BuildVersion.cmake
@@ -53,5 +53,6 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n
         "LL_VIEWER_VERSION_MINOR=${VIEWER_VERSION_MINOR}"
         "LL_VIEWER_VERSION_PATCH=${VIEWER_VERSION_PATCH}"
         "LL_VIEWER_VERSION_BUILD=${VIEWER_VERSION_REVISION}"
+        "LLBUILD_CONFIG=\"${CMAKE_BUILD_TYPE}\""
         )
 endif (NOT DEFINED VIEWER_SHORT_VERSION)
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 1341cde95f3a483a364232fe6f2f3c766d27d291..18baf6bf0047b62023ccc21a9c76e586fb454342 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3310,6 +3310,11 @@ LLSD LLAppViewer::getViewerInfo() const
 	info["VIEWER_VERSION"] = version;
 	info["VIEWER_VERSION_STR"] = LLVersionInfo::getVersion();
 	info["CHANNEL"] = LLVersionInfo::getChannel();
+    std::string build_config = LLVersionInfo::getBuildConfig();
+    if (build_config != "Release")
+    {
+        info["BUILD_CONFIG"] = build_config;
+    }
 
 	// return a URL to the release notes for this viewer, such as:
 	// http://wiki.secondlife.com/wiki/Release_Notes/Second Life Beta Viewer/2.1.0.123456
@@ -3321,14 +3326,6 @@ LLSD LLAppViewer::getViewerInfo() const
 
 	info["VIEWER_RELEASE_NOTES_URL"] = url;
 
-#if LL_MSVC
-	info["COMPILER"] = "MSVC";
-	info["COMPILER_VERSION"] = _MSC_VER;
-#elif LL_GNUC
-	info["COMPILER"] = "GCC";
-	info["COMPILER_VERSION"] = GCC_VERSION;
-#endif
-
 	// Position
 	LLViewerRegion* region = gAgent.getRegion();
 	if (region)
@@ -3362,10 +3359,6 @@ LLSD LLAppViewer::getViewerInfo() const
 #endif
 
 	info["OPENGL_VERSION"] = (const char*)(glGetString(GL_VERSION));
-	info["LIBCURL_VERSION"] = LLCurl::getVersionString();
-	info["J2C_VERSION"] = LLImageJ2C::getEngineInfo();
-	bool want_fullname = true;
-	info["AUDIO_DRIVER_VERSION"] = gAudiop ? LLSD(gAudiop->getDriverName(want_fullname)) : LLSD();
 	if(LLVoiceClient::getInstance()->voiceEnabled())
 	{
 		LLVoiceVersionInfo version = LLVoiceClient::getInstance()->getVersion();
@@ -3378,12 +3371,6 @@ LLSD LLAppViewer::getViewerInfo() const
 		info["VOICE_VERSION"] = LLTrans::getString("NotConnected");
 	}
 
-#if !LL_LINUX
-	info["LLCEFLIB_VERSION"] = LLCEFLIB_VERSION;
-#else
-	info["LLCEFLIB_VERSION"] = "Undefined";
-#endif
-
 	S32 packets_in = LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_IN);
 	if (packets_in > 0)
 	{
@@ -3455,6 +3442,10 @@ std::string LLAppViewer::getViewerInfoString() const
 
 	// Now build the various pieces
 	support << LLTrans::getString("AboutHeader", args);
+	if (info.has("BUILD_CONFIG"))
+	{
+		support << "\n" << LLTrans::getString("BuildConfig", args);
+	}
 	if (info.has("REGION"))
 	{
 		support << "\n\n" << LLTrans::getString("AboutPosition", args);
diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp
index e53de8be32146929d02b0d58ad83529284016703..a0ca91672aa357f9743dba9cc0f58a4d58f06a11 100644
--- a/indra/newview/llversioninfo.cpp
+++ b/indra/newview/llversioninfo.cpp
@@ -172,3 +172,8 @@ LLVersionInfo::ViewerMaturity LLVersionInfo::getViewerMaturity()
 }
 
     
+const std::string &LLVersionInfo::getBuildConfig()
+{
+    static const std::string build_configuration(LLBUILD_CONFIG); // set in indra/cmake/BuildVersion.cmake
+    return build_configuration;
+}
diff --git a/indra/newview/llversioninfo.h b/indra/newview/llversioninfo.h
index 4e75535ec5470cec1b1cb710fe62b06d2f336f18..ec599c0cdaade535a1279e0dac89cd524f5d7ae9 100644
--- a/indra/newview/llversioninfo.h
+++ b/indra/newview/llversioninfo.h
@@ -66,6 +66,9 @@ class LLVersionInfo
 	/// return the channel name, e.g. "Second Life"
 	static const std::string &getChannel();
 	
+    /// return the CMake build type
+    static const std::string &getBuildConfig();
+
 	/// reset the channel name used by the viewer.
 	static void resetChannel(const std::string& channel);
 
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 5266400e77b96a21ec6daf963310195a34b19f70..8c676292b16ef283ab63d70357ef5e23e34def83 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -22,10 +22,11 @@
 
 	<!-- about dialog/support string-->
 	<string name="AboutHeader">
-[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2].[VIEWER_VERSION_3] [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2].[VIEWER_VERSION_3] ([CHANNEL])
 [[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
 	</string>
-	<string name="AboutCompiler">Built with [COMPILER] version [COMPILER_VERSION]</string>
+    <string name="BuildConfig">Build Configuration [BUILD_CONFIG]</string>
+
 	<string name="AboutPosition">
 You are at [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] located at &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
 SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
@@ -46,16 +47,12 @@ Graphics Card: [GRAPHICS_CARD]
 	<string name="AboutDriver">Windows Graphics Driver Version: [GRAPHICS_DRIVER_VERSION]</string>
 	<string name="AboutLibs">
 OpenGL Version: [OPENGL_VERSION]
-
-libcurl Version: [LIBCURL_VERSION]
-J2C Decoder Version: [J2C_VERSION]
-Audio Driver Version: [AUDIO_DRIVER_VERSION]
-LLCEFLib/CEF Version: [LLCEFLIB_VERSION]
 Voice Server Version: [VOICE_VERSION]
 	</string>
 	<string name="AboutTraffic">Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)</string>
 	<string name="ErrorFetchingServerReleaseNotesURL">Error fetching server release notes URL.</string>
-	
+	<string name="BuildConfiguration">Build Configuration</string>
+
 	<!--  progress -->
 	<string name="ProgressRestoring">Restoring...</string>
 	<string name="ProgressChangingResolution">Changing resolution...</string>