diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index 60313b25a0f56a345c98bebe0fa6a3d0481151b4..55b314fbb15119d2efa10092a99403b52f70db90 100644
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -657,7 +657,7 @@ void LLDrawPoolAvatar::endDeferredImpostor()
 void LLDrawPoolAvatar::beginDeferredRigid()
 {
 	sVertexProgram = &gDeferredNonIndexedDiffuseAlphaMaskNoColorProgram;
-				
+	sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
 	sVertexProgram->bind();
 	sVertexProgram->setMinimumAlpha(0.2f);
 }
@@ -665,6 +665,7 @@ void LLDrawPoolAvatar::beginDeferredRigid()
 void LLDrawPoolAvatar::endDeferredRigid()
 {
 	sShaderLevel = mVertexShaderLevel;
+	sVertexProgram->disableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
 	sVertexProgram->unbind();
 	gGL.getTexUnit(0)->activate();
 }