diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
index 52c69b46ea1602b00e16d0c347fa2fa99dafa3f7..2b5fa3979bcda52b09a5aa7c88e512aeb8787a69 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
@@ -277,7 +277,7 @@ void main()
     final_color.a = max(final_color.a, emissive_brightness);
 
     // Texture
-    //     [x] Full Bright Object
+    //     [x] Full Bright (emissive_brightness > 0.0)
     //     Shininess (specular)
     //       [X] Texture
     //       Environment Intensity = 1
@@ -292,11 +292,14 @@ void main()
     // We remap the environment intensity to closely simulate what non-EEP is doing.
     //    At midnight the brightness is exact.
     //    At midday the brightness is very close.
-#ifdef HAS_SKIN
     vec4 final_normal = vec4(abnormal, env_intensity, 0.0);
-#else
-    float ei = env_intensity*0.5 + 0.5;
-    vec4 final_normal = vec4(abnormal, ei, 0.0);
+
+#ifdef HAS_SPECULAR_MAP
+    if( emissive_brightness > 0.0)
+    {
+        float ei = env_intensity*0.5 + 0.5;
+        final_normal = vec4(abnormal, ei, 0.0);
+    }
 #endif
     vec4 final_specular = spec;