diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
index 1791d3e315225b844128b1bad8b5d83224311956..dd762958c4c81de6f93f7bdc200360b10a403d8a 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
@@ -45,7 +45,7 @@ VARYING vec2 vary_texcoord0;
 
 void main() 
 {
-	float alpha = diffuseLookup(vary_texcoord0.xy).a * vertex_color.a;
+	float alpha = diffuseLookup(vary_texcoord0.xy).a;
 
 	if (alpha < 0.05) // treat as totally transparent
 	{
@@ -60,6 +60,8 @@ void main()
 	  }
 	}
 
+    alpha *= vertex_color.a;
+
 	frag_color = vec4(1,1,1,1);
 	
 #if !defined(DEPTH_CLAMP)