diff --git a/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl
index 63ad6fa7c72753af16fad4aa6f8cc7a96abcaf8f..62acbbf36bee75c2919a3b85f9ae132d33714753 100755
--- a/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl
@@ -311,12 +311,14 @@ void main()
 			vec3 pfinal = pos + ref * dot(pdelta, proj_n)/ds;
 			
 			vec4 stc = (proj_mat * vec4(pfinal.xyz, 1.0));
-			stc /= stc.w;
+            
 			if (stc.z > 0.0)
 			{
-				float fatten = clamp(spec.a*spec.a+spec.a*0.25, 0.25, 1.0);
+                stc /= stc.w;
+                
+				//float fatten = clamp(spec.a*spec.a+spec.a*0.25, 0.25, 1.0);
 				
-				stc.xy = (stc.xy - vec2(0.5)) + vec2(0.5);
+				//stc.xy = (stc.xy - vec2(0.25)) * fatten + vec2(0.5);
 								
 				if (stc.x < 1.0 &&
 					stc.y < 1.0 &&
diff --git a/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl
index 6d282115ddcea8028c24250dbe716b08419812a6..10b47291e3466b04dd827c92f65b76f65ce527ac 100755
--- a/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl
@@ -322,12 +322,11 @@ void main()
 
 			if (stc.z > 0.0)
 			{
-				stc.xy /= stc.w;
+				stc /= stc.w;
 
-				float fatten = clamp(spec.a*spec.a+spec.a*0.25, 0.25, 1.0);
+				//float fatten = clamp(spec.a*spec.a+spec.a*0.25, 0.25, 1.0);
 				
-				//stc.xy = (stc.xy - vec2(0.5)) * fatten + vec2(0.5);
-				stc.xy = (stc.xy - vec2(0.5)) + vec2(0.5);
+				//stc.xy = (stc.xy - vec2(0.25)) * fatten + vec2(0.5);
 								
 				if (stc.x < 1.0 &&
 					stc.y < 1.0 &&
diff --git a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl
index d5bc56e27afc24b268606479c603ba2428adc074..dd99c029e683fd73ae13769273370be4f32f643b 100755
--- a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl
@@ -334,13 +334,14 @@ void main()
 			vec3 pfinal = pos + ref * dot(pdelta, proj_n)/ds;
 			
 			vec4 stc = (proj_mat * vec4(pfinal.xyz, 1.0));
-			stc /= stc.w;
 
 			if (stc.z > 0.0)
 			{
-				float fatten = clamp(spec.a*spec.a+spec.a*0.25, 0.25, 1.0);
+                stc /= stc.w;
                 
-				stc.xy = (stc.xy - vec2(0.5)) + vec2(0.5);
+				//float fatten = clamp(spec.a*spec.a+spec.a*0.25, 0.25, 1.0);
+                
+				//stc.xy = (stc.xy - vec2(0.25)) * fatten + vec2(0.5);
 								
 				if (stc.x < 1.0 &&
 					stc.y < 1.0 &&
@@ -352,7 +353,6 @@ void main()
 			}
 		}
 	}
-	
 
 	//not sure why, but this line prevents MATBUG-194
 	col = max(col, vec3(0.0));
diff --git a/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl
index 56b01eff8c7741f1e330b47fd0f0bddaef722b0c..acf474c48998b21c8754cf89c6f09ef4d5c56e45 100755
--- a/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl
@@ -336,12 +336,11 @@ void main()
 
 			if (stc.z > 0.0)
 			{
-				stc.xy /= stc.w;
+				stc /= stc.w;
 
-				float fatten = clamp(spec.a*spec.a+spec.a*0.25, 0.25, 1.0);
+				//float fatten = clamp(spec.a*spec.a+spec.a*0.25, 0.25, 1.0);
 				
-				//stc.xy = (stc.xy - vec2(0.5)) * fatten + vec2(0.5);
-				stc.xy = (stc.xy - vec2(0.5)) + vec2(0.5);
+				//stc.xy = (stc.xy - vec2(0.25)) * fatten + vec2(0.5);
 								
 				if (stc.x < 1.0 &&
 					stc.y < 1.0 &&