diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 64004cf92244281bf95b4f6cca51be45b8abec95..ad8a3eebf59b935137e121060afc11c3926779ea 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -572,7 +572,7 @@ static void settings_to_globals()
 
 	LLRender::sGLCoreProfile = gSavedSettings.getBOOL("RenderGLCoreProfile");
 	LLRender::sNsightDebugSupport = gSavedSettings.getBOOL("RenderNsightDebugSupport");
-	LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
+	LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO");
 	LLImageGL::sGlobalUseAnisotropic	= gSavedSettings.getBOOL("RenderAnisotropic");
 	LLImageGL::sCompressTextures		= gSavedSettings.getBOOL("RenderCompressTextures");
 	LLVOVolume::sLODFactor				= llclamp(gSavedSettings.getF32("RenderVolumeLODFactor"), 0.01f, MAX_LOD_FACTOR);
diff --git a/indra/newview/llfloatersettingsdebug.cpp b/indra/newview/llfloatersettingsdebug.cpp
index 8bac13a5f5cdaa4eb5de36fcf3d85c14d1a4899a..fb202b4c406189156a8a0a86de2316aec649156e 100644
--- a/indra/newview/llfloatersettingsdebug.cpp
+++ b/indra/newview/llfloatersettingsdebug.cpp
@@ -34,7 +34,6 @@
 #include "llcolorswatch.h"
 #include "llviewercontrol.h"
 #include "lltexteditor.h"
-#include "llviewershadermgr.h"
 
 
 LLFloaterSettingsDebug::LLFloaterSettingsDebug(const LLSD& key) 
@@ -208,11 +207,6 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
 	getChildView("val_text")->setVisible( FALSE);
 	mComment->setText(LLStringUtil::null);
 
-    getChild<LLUICtrl>("boolean_combo")->setEnabled(true);
-    getChild<LLUICtrl>("TRUE")->setEnabled(true);
-    getChild<LLUICtrl>("FALSE")->setEnabled(true);
-    getChild<LLUICtrl>("default_btn")->setEnabled(true);
-
 	if (controlp)
 	{
 		eControlType type = controlp->type();
@@ -294,19 +288,6 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
 				{
 					getChild<LLUICtrl>("boolean_combo")->setValue(LLSD(""));
 				}
-
-				bool bUseVAO = controlp->getName() == "RenderUseVAO";
-				if (bUseVAO)
-				{
-					bool use_shaders = LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
-					getChild<LLUICtrl>("boolean_combo")->setEnabled(use_shaders);
-					getChild<LLUICtrl>("TRUE")->setEnabled(use_shaders);
-					getChild<LLUICtrl>("FALSE")->setEnabled(use_shaders);
-					getChild<LLUICtrl>("default_btn")->setEnabled(use_shaders);
-					if (!use_shaders) {
-						getChild<LLUICtrl>("boolean_combo")->setValue(LLSD(false));
-					}
-				}
 			}
 			break;
 		  case TYPE_STRING:
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 3014fa4a1edadc3195556403238ab0fff78dc83a..88da291e7ba6b54357915d51d2f930849f96a8de 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -440,7 +440,7 @@ void LLPipeline::init()
 	sRenderBump = gSavedSettings.getBOOL("RenderObjectBump");
 	sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips");
 	LLVertexBuffer::sUseStreamDraw = gSavedSettings.getBOOL("RenderUseStreamVBO");
-	LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
+	LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO");
 	LLVertexBuffer::sPreferStreamDraw = gSavedSettings.getBOOL("RenderPreferStreamDraw");
 	sRenderAttachedLights = gSavedSettings.getBOOL("RenderAttachedLights");
 	sRenderAttachedParticles = gSavedSettings.getBOOL("RenderAttachedParticles");
@@ -7439,7 +7439,7 @@ void LLPipeline::doResetVertexBuffers(bool forced)
 
 	sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips");
 	LLVertexBuffer::sUseStreamDraw = gSavedSettings.getBOOL("RenderUseStreamVBO");
-	LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
+	LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO");
 	LLVertexBuffer::sPreferStreamDraw = gSavedSettings.getBOOL("RenderPreferStreamDraw");
 	LLVertexBuffer::sEnableVBOs = gSavedSettings.getBOOL("RenderVBOEnable");
 	LLVertexBuffer::sDisableVBOMapping = LLVertexBuffer::sEnableVBOs && gSavedSettings.getBOOL("RenderVBOMappingDisable") ;