diff --git a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl
index 15147c8728192b4d7b143fe41a743441215a51dc..e329023a8a1780cc6c3e5302528104783ade7d8b 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl
@@ -145,7 +145,9 @@ vec2 getScreenCoordinate(vec2 screenpos)
 
 vec4 getNorm(vec2 screenpos)
 {
-    return texture(normalMap, screenpos.xy);
+    vec4 norm = texture(normalMap, screenpos.xy);
+    norm.xyz = normalize(norm.xyz);
+    return norm;
 }
 
 // return packedNormalEnvIntensityFlags since GBUFFER_FLAG_HAS_PBR needs .w