diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp
index 0e4753fcc6c8662a1543168bfe9344e70cd23866..08c9dd876950c27c2abce8bd9e24f9e7ce69366e 100644
--- a/indra/llrender/llglslshader.cpp
+++ b/indra/llrender/llglslshader.cpp
@@ -1436,7 +1436,11 @@ GLint LLGLSLShader::getUniformLocation(U32 index)
     GLint ret = -1;
     if (mProgramObject)
     {
-        llassert(index < mUniform.size());
+        if (index >= mUniform.size())
+        {
+            LL_WARNS_ONCE("Shader") << "Uniform index " << index << " out of bounds " << (S32)mUniform.size() << LL_ENDL;
+            return ret;
+        }
         return mUniform[index];
     }