diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp
index deb022fd75d205274abc5fb01270f8ecd52eb613..d6ab5208c6f541859d9f8ee30fb94dc9dc8b368a 100644
--- a/indra/llrender/llglslshader.cpp
+++ b/indra/llrender/llglslshader.cpp
@@ -435,9 +435,12 @@ void LLGLSLShader::unbind()
 void LLGLSLShader::bindNoShader(void)
 {
 	LLVertexBuffer::unbind();
-	glUseProgramObjectARB(0);
-	sCurBoundShader = 0;
-	sCurBoundShaderPtr = NULL;
+	if (gGLManager.mHasShaderObjects)
+	{
+		glUseProgramObjectARB(0);
+		sCurBoundShader = 0;
+		sCurBoundShaderPtr = NULL;
+	}
 }
 
 S32 LLGLSLShader::enableTexture(S32 uniform, LLTexUnit::eTextureType mode)
diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt
index 9379d336d064377bf4f0a5ee958707f9f8d37ae0..22d76cb08270f6c1ae7b7dd90d7bd13405f6ab63 100755
--- a/indra/newview/featuretable.txt
+++ b/indra/newview/featuretable.txt
@@ -65,6 +65,7 @@ RenderShadowDetail			1	2
 WatchdogDisabled				1	1
 RenderUseStreamVBO			1	1
 RenderFSAASamples			1	16
+RenderMaxTextureIndex		1	32
 
 //
 // Low Graphics Settings
diff --git a/indra/newview/featuretable_xp.txt b/indra/newview/featuretable_xp.txt
index fffd30c0d8f9959e7df4a54e9b7faae26e53139e..a8e13ce65c2cfb45e4cf6f35ee17df8c73a14636 100644
--- a/indra/newview/featuretable_xp.txt
+++ b/indra/newview/featuretable_xp.txt
@@ -65,6 +65,7 @@ RenderShadowDetail			1	0
 WatchdogDisabled				1	1
 RenderUseStreamVBO			1	1
 RenderFSAASamples			1	16
+RenderMaxTextureIndex		1	32
 
 //
 // Low Graphics Settings