diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index 48744a55ab152b00151ecf64eddc42e91cb141ac..2b6e606d3f59146d19e8451165bb5c7d355decc6 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -796,6 +796,8 @@ bool LLGLManager::initGL()
 		mNumTextureImageUnits = llmin(num_tex_image_units, 32);
 	}
 
+	LL_INFOS() << "NUM TEX IMAGE UNITS: " << mNumTextureImageUnits << LL_ENDL;
+
 	if (LLRender::sGLCoreProfile)
 	{
 		mNumTextureUnits = llmin(mNumTextureImageUnits, MAX_GL_TEXTURE_UNITS);
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 04b84ff3a1ecf708bd4dbb0380481590f1f75c85..0d2c009bc2fc2f9ad11fb2331a1d6c9990c92546 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -9461,7 +9461,7 @@
     <key>Type</key>
     <string>U32</string>
     <key>Value</key>
-    <integer>16</integer>
+    <integer>32</integer>
   </map>
     <key>RenderDebugTextureBind</key>
     <map>
diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp
index f108d9632073678d218eb13389e1b252cb4e3732..079638adef563bc567a6234ea30332fbbe5b4b13 100644
--- a/indra/newview/llviewershadermgr.cpp
+++ b/indra/newview/llviewershadermgr.cpp
@@ -404,7 +404,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, 16);
+    LLGLSLShader::sIndexedTextureChannels = llmin(LLGLSLShader::sIndexedTextureChannels, 32);
 
     if (gGLManager.mGLSLVersionMajor < 1 ||
         (gGLManager.mGLSLVersionMajor == 1 && gGLManager.mGLSLVersionMinor <= 20))
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index ec778d82bf81e3505041bcc04e35b9c5453123f4..df1e7e11759a718ad420e0591bd4fa188543c1f8 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -6278,7 +6278,7 @@ U32 LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, LLFace
 		texture_index_channels = gDeferredAlphaProgram.mFeatures.mIndexedTextureChannels;
 	}
 
-	static LLCachedControl<U32> max_texture_index(gSavedSettings, "RenderMaxTextureIndex", 16);
+	static LLCachedControl<U32> max_texture_index(gSavedSettings, "RenderMaxTextureIndex", 32);
 	texture_index_channels = llmin(texture_index_channels, (S32) max_texture_index);
 	
 	//NEVER use more than 16 texture index channels (workaround for prevalent driver bug)