diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index f2105f79d0d58f24da24075e2489e7d468e974c2..628a8d6131e1621dc51e6db2cd93a18127ee4f37 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -1912,7 +1912,7 @@ void LLGLState::checkClientArrays(const std::string& msg, U32 data_mask)
 	glClientActiveTextureARB(GL_TEXTURE0_ARB);
 	gGL.getTexUnit(0)->activate();
 
-	if (gGLManager.mHasVertexShader)
+	if (gGLManager.mHasVertexShader && LLGLSLShader::sNoFixedFunction)
 	{	//make sure vertex attribs are all disabled
 		GLint count;
 		glGetIntegerv(GL_MAX_VERTEX_ATTRIBS_ARB, &count);
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 748d36eadf67089385d63ebc6417b91d1bbad04c..4d94c90cc6282a158e7a2a1d7f2a16a75f391343 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1017,7 +1017,7 @@ bool LLAppViewer::init()
 
 #if LL_WINDOWS
 	if (gGLManager.mIsIntel && 
-		LLFeatureManager::getInstance()->getRecommendedValue("WindLightUseAtmosShaders") > 0 &&
+		LLFeatureManager::getInstance()->getGPUClass() > 0 &&
 		gGLManager.mGLVersion <= 3.f)
 	{
 		LLNotificationsUtil::add("IntelOldDriver");