diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index 2bd011972ffa16ea0dcab11e143cef76b7be99c1..a4b42e0df932d794f730fd0bc8ed26ab13688872 100644
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -2229,12 +2229,15 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow)
                 {
                     specular = face->getTexture(LLRender::SPECULAR_MAP);
                 }
-                if (specular)
+                if (specular && specular_channel > -1)
                 {
                     gGL.getTexUnit(specular_channel)->bind(specular);
                 }
                 
-				gGL.getTexUnit(normal_channel)->bind(face->getTexture(LLRender::NORMAL_MAP));
+				if (normal_channel > -1)
+				{
+					gGL.getTexUnit(normal_channel)->bind(face->getTexture(LLRender::NORMAL_MAP));
+				}
 				gGL.getTexUnit(sDiffuseChannel)->bind(face->getTexture(LLRender::DIFFUSE_MAP), false, true);
 
 
diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp
index dc1a1cc91fbef22aea9de69b246cd7679c5b3a65..5d8a45673d6f6b3e120a563f421734cc338e8dc6 100644
--- a/indra/newview/lldrawpoolwater.cpp
+++ b/indra/newview/lldrawpoolwater.cpp
@@ -633,7 +633,10 @@ void LLDrawPoolWater::shade2(bool edge, LLGLSLShader* shader, const LLColor3& li
                 if (face)
                 {
                     LLVOWater* water = (LLVOWater*) face->getViewerObject();
-			        gGL.getTexUnit(diffTex)->bind(face->getTexture());
+					if (diffTex > -1)
+					{
+						gGL.getTexUnit(diffTex)->bind(face->getTexture());
+					}
 
                     if (water)
                     {
@@ -655,7 +658,10 @@ void LLDrawPoolWater::shade2(bool edge, LLGLSLShader* shader, const LLColor3& li
                 if (face)
                 {
                     LLVOWater* water = (LLVOWater*) face->getViewerObject();
-			        gGL.getTexUnit(diffTex)->bind(face->getTexture());
+					if (diffTex > -1)
+					{
+						gGL.getTexUnit(diffTex)->bind(face->getTexture());
+					}
 
                     if (water)
                     {