diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index ac8a4c9da3b056e40212591c24cd71d1a7af7671..0ea86d0a984046c90362be8be6bd61f3bbee4f49 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -9458,7 +9458,7 @@
     <key>Type</key>
     <string>U32</string>
     <key>Value</key>
-    <integer>32</integer>
+    <integer>16</integer>
   </map>
     <key>RenderDebugTextureBind</key>
     <map>
diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp
index df44abba8698286adb839997574f078e5e7514db..24c9b39a3c29eeaefd3f87ac58a48fe72b851cb2 100644
--- a/indra/newview/llviewershadermgr.cpp
+++ b/indra/newview/llviewershadermgr.cpp
@@ -397,7 +397,7 @@ void LLViewerShaderMgr::setShaders()
     LLGLSLShader::sIndexedTextureChannels = llmax(llmin(gGLManager.mNumTextureImageUnits, (S32) max_texture_index), 1);
 
     //NEVER use more than 16 texture channels (work around for prevalent driver bug)
-    LLGLSLShader::sIndexedTextureChannels = llmin(LLGLSLShader::sIndexedTextureChannels, 32);
+    LLGLSLShader::sIndexedTextureChannels = llmin(LLGLSLShader::sIndexedTextureChannels, 16);
 
     if (gGLManager.mGLSLVersionMajor < 1 ||
         (gGLManager.mGLSLVersionMajor == 1 && gGLManager.mGLSLVersionMinor <= 20))
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index d5bb02cd69daa8f07c16c85a519d8898e6203c26..1e34365148a6344d45c91478e0f2bb50c9f6c503 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -6286,11 +6286,11 @@ U32 LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, LLFace
 		texture_index_channels = gDeferredAlphaProgram.mFeatures.mIndexedTextureChannels;
 	}
 
-	static LLCachedControl<U32> max_texture_index(gSavedSettings, "RenderMaxTextureIndex", 32);
+	static LLCachedControl<U32> max_texture_index(gSavedSettings, "RenderMaxTextureIndex", 16);
 	texture_index_channels = llmin(texture_index_channels, (S32) max_texture_index);
 	
 	//NEVER use more than 16 texture index channels (workaround for prevalent driver bug)
-	texture_index_channels = llmin(texture_index_channels, 32);
+	texture_index_channels = llmin(texture_index_channels, 16);
 
 	bool flexi = false;