diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp
index ca373c33b59e563cf59765fbc5d4d353a4407498..1de1da2d7add8ca2a0508b3d65a6fce6c3eb3393 100755
--- a/indra/llwindow/llwindow.cpp
+++ b/indra/llwindow/llwindow.cpp
@@ -48,6 +48,9 @@
 LLSplashScreen *gSplashScreenp = NULL;
 BOOL gDebugClicks = FALSE;
 BOOL gDebugWindowProc = FALSE;
+#ifdef LL_DARWIN
+BOOL gUseMultGL = TRUE;
+#endif
 
 const S32 gURLProtocolWhitelistCount = 4;
 const std::string gURLProtocolWhitelist[] = { "secondlife:", "http:", "https:", "data:" };
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index cc7879d056fa8356ed9ceabc39a4db000179e3db..afc0434d3a8169a1711bfffa5add7ec163a4cb80 100755
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -288,6 +288,9 @@ public:
 // helper funcs
 //
 extern BOOL gDebugWindowProc;
+#ifdef LL_DARWIN
+extern BOOL gUseMultGL;
+#endif
 
 // Protocols, like "http" and "https" we support in URLs
 extern const S32 gURLProtocolWhitelistCount;
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 921ac05f5cd4d2560187be29e6da91d4401d006b..26f966b50c420f5f77ca94b17b2b51a4c35cbedf 100755
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -43,6 +43,7 @@
 #include <CoreServices/CoreServices.h>
 
 extern BOOL gDebugWindowProc;
+extern BOOL gUseMultGL;
 
 // culled from winuser.h
 //const S32	WHEEL_DELTA = 120;     /* Value for rolling one detent */
@@ -57,8 +58,6 @@ const S32	MAX_NUM_RESOLUTIONS = 32;
 // LLWindowMacOSX
 //
 
-BOOL LLWindowMacOSX::sUseMultGL = FALSE;
-
 // Cross-platform bits:
 
 BOOL check_for_card(const char* RENDERER, const char* bad_card)
@@ -611,7 +610,7 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
 	CGLSetParameter(mContext, kCGLCPSwapInterval, &frames_per_swap);
 
 	//enable multi-threaded OpenGL
-	if (sUseMultGL)
+	if (gUseMultGL)
 	{
 		CGLError cgl_err;
 		CGLContextObj ctx = CGLGetCurrentContext();
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 1edfb85ede173405094b6db208063ceab9c913c5..6c3e725df45b03c3fb7ae7de30044da6b73097e6 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -8113,7 +8113,7 @@
       <key>Type</key>
       <string>Boolean</string>
       <key>Value</key>
-      <integer>0</integer>
+      <integer>1</integer>
     </map>
     <key>RenderAttachedLights</key>
         <map>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index bd3f1e031c4f06fb31a75c8cbf67a40bf50cf306..820ae3d7100b833d4d9e3947bc5708fda43d6131 100755
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -597,6 +597,9 @@ static void settings_to_globals()
 	gDebugWindowProc = gSavedSettings.getBOOL("DebugWindowProc");
 	gShowObjectUpdates = gSavedSettings.getBOOL("ShowObjectUpdates");
 	LLWorldMapView::sMapScale = gSavedSettings.getF32("MapScale");
+#ifdef LL_DARWIN
+	gUseMultGL = gSavedSettings.getBOOL("RenderAppleUseMultGL");
+#endif
 }
 
 static void settings_modify()