diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index 8ad75384f223f880a3f8b8ceaf775df234b28d9a..c0d15fe6f368f2b7854b12cc48b91c5cf6bb9978 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -630,6 +630,8 @@ bool LLGLManager::initGL()
 	initExtensions();
 	stop_glerror();
 
+	S32 old_vram = mVRAM;
+
 	if (mHasATIMemInfo)
 	{ //ask the gl how much vram is free at startup and attempt to use no more than half of that
 		S32 meminfo[4];
@@ -644,6 +646,11 @@ bool LLGLManager::initGL()
 		mVRAM = dedicated_memory/1024;
 	}
 
+	if (mVRAM < 256)
+	{ //something likely went wrong using the above extensions, fall back to old method
+		mVRAM = old_vram;
+	}
+
 	stop_glerror();
 
 	stop_glerror();