diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index fca4492fbbbbb65a60d942eaeb1ceb4410de8ffb..b5d37ba5cc7ae6753a2ff509af0784439abe7d5e 100755
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -128,14 +128,22 @@ void LLDrawPoolAlpha::beginPostDeferredPass(S32 pass)
 		gObjectFullbrightAlphaMaskProgram.setMinimumAlpha(0.33f);
 	}
 
-	if (LLPipeline::sUnderWaterRender)
-	{
-		emissive_shader = &gObjectEmissiveWaterProgram;
-	}
-	else
-	{
-		emissive_shader = &gObjectEmissiveProgram;
-	}
+
+    if (LLPipeline::sRenderDeferred)
+    {
+		emissive_shader = &gDeferredEmissiveProgram;
+    }
+    else
+    {
+		if (LLPipeline::sUnderWaterRender)
+		{
+			emissive_shader = &gObjectEmissiveWaterProgram;
+		}
+		else
+		{
+			emissive_shader = &gObjectEmissiveProgram;
+		}
+    }
 
 	deferred_render = TRUE;
 	if (mVertexShaderLevel > 0)