diff --git a/indra/newview/lldrawpoolmaterials.cpp b/indra/newview/lldrawpoolmaterials.cpp
index e77534656315c5aa50af100a11d4cd988d1f88c2..52f476f5898aec093ed13a96b56de7debd6ab6af 100644
--- a/indra/newview/lldrawpoolmaterials.cpp
+++ b/indra/newview/lldrawpoolmaterials.cpp
@@ -68,20 +68,23 @@ void LLDrawPoolMaterials::renderDeferred(S32 pass)
 		switch (params.mDiffuseAlphaMode)
 		{
 			case 0:
-				LL_INFOS("Asdf") << "Renderererererrerererrrr!!!~!!!~!~" << LL_ENDL;
 				mShader = &gDeferredMaterialShinyNormal;
+				mShader->bind();
 				break;
 			case 1: // Alpha blending not supported in the opaque draw pool.
 				return;
 			case 2:
 				mShader = &gDeferredMaterialShinyNormalAlphaTest;
+				mShader->bind();
+				mShader->setMinimumAlpha(params.mAlphaMaskCutoff);
 				break;
 			case 3:
 				mShader = &gDeferredMaterialShinyNormalEmissive;
+				mShader->bind();
 				break;
 		};
 		
-		mShader->bind();
+		
 		
 		mShader->uniform4f(LLShaderMgr::SPECULAR_COLOR, params.mSpecColor.mV[0], params.mSpecColor.mV[1], params.mSpecColor.mV[2], params.mSpecColor.mV[3]);
 		mShader->uniform1f(LLShaderMgr::ENVIRONMENT_INTENSITY, params.mEnvIntensity);
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 8ee4cd771319d00795b5104327b6f63c157dc17e..53632e36082c40ac4893b8da4209f8ff197fea7d 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -1598,7 +1598,20 @@ U32 LLPipeline::getPoolTypeFromTE(const LLTextureEntry* te, LLViewerTexture* ima
 	{
 		alpha = alpha || (imagep->getComponents() == 4 && imagep->getType() != LLViewerTexture::MEDIA_TEXTURE) || (imagep->getComponents() == 2);
 	}
-
+	
+	if (alpha && te->getMaterialParams())
+	{
+		switch (te->getMaterialParams()->getDiffuseAlphaMode())
+		{
+			case 1:
+				alpha = true; // Material's alpha mode is set to blend.  Toss it into the alpha draw pool.
+				break;
+			default:
+				alpha = false; // Material's alpha mode is set to none, mask, or emissive.  Toss it into the opaque material draw pool.
+				break;
+		}
+	}
+	
 	if (alpha)
 	{
 		return LLDrawPool::POOL_ALPHA;