diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
index dabdf69681d18767abbf068770a50092197da68f..0880a73b26ba6bc3fcfd44d47f1c6fb863d7fcea 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
@@ -357,10 +357,10 @@ vec3 post_diffuse = color.rgb;
         if (nh > 0.0)
         {
             float scol = fres*texture2D(lightFunc, vec2(nh, spec.a)).r*gt/(nh*da);
-            vec3 speccol = sun_contrib*scol*spec.rgb / 16.0f;
-            speccol = clamp(speccol, vec3(0), vec3(1));
-            bloom = dot(speccol, speccol);
-            color += speccol;
+            vec3 sp = sun_contrib*scol / 16.0f;
+            sp = clamp(sp, vec3(0), vec3(1));
+            bloom = dot(sp, sp) / 6.0;
+            color += sp * spec.rgb;
         }
     }
 
diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl
index 4e8062977dba257b6c5a9fd7399f927582071e76..4a6dbc03132b9d5518d81a61dc68f0e77aa745dc 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl
@@ -143,10 +143,10 @@ vec3 post_diffuse = color.rgb;
             if (nh > 0.0)
             {
                 float scontrib = fres*texture2D(lightFunc, vec2(nh, spec.a)).r*gt/(nh*da);
-                vec3 speccol = sun_contrib*scontrib*spec.rgb / 16.0f;
-                speccol = clamp(speccol, vec3(0), vec3(1));
-                bloom += dot(speccol, speccol);
-                color += speccol;
+                vec3 sp = sun_contrib*scontrib / 16.0;
+                sp = clamp(sp, vec3(0), vec3(1));
+                bloom += dot(sp, sp) / 6.0;
+                color += sp * spec.rgb;
             }
         }
        
diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
index 5aaac382a59564c6f4f12e772403516e1870e0d7..1b2b835ad155b3b805a95739f25a59821b0a399d 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
@@ -153,10 +153,10 @@ vec3 post_diffuse = color.rgb;
             if (nh > 0.0)
             {
                 float scontrib = fres*texture2D(lightFunc, vec2(nh, spec.a)).r*gt/(nh*da);
-                vec3 speccol = sun_contrib*scontrib*spec.rgb / 16.0;
-                speccol = clamp(speccol, vec3(0), vec3(1));
-                bloom += dot (speccol, speccol);
-                color += speccol;
+                vec3 sp = sun_contrib*scontrib / 16.0;
+                sp = clamp(sp, vec3(0), vec3(1));
+                bloom += dot (sp, sp) / 6.0;
+                color += sp * spec.rgb;
             }
         }