diff --git a/Shaders/ws30-ALS.frag b/Shaders/ws30-ALS.frag
index a65c1819e..3a1c5205d 100644
--- a/Shaders/ws30-ALS.frag
+++ b/Shaders/ws30-ALS.frag
@@ -119,7 +119,7 @@ void main()
     vec4 mat_diffuse = texture(diffuseArray, index);
     vec4 mat_specular = texture(specularArray, index);
 
-    vec4 color = gl_Color + mat_diffuse * NdotL *  gl_LightSource[0].diffuse;
+    vec4 color = mat_diffuse * (gl_Color + NdotL *  gl_LightSource[0].diffuse);
 
     // Testing code:
     // Use rlc even when looking up textures to recreate the extra performance hit
diff --git a/Shaders/ws30-q1.frag b/Shaders/ws30-q1.frag
index 4b62e63b3..e30250686 100644
--- a/Shaders/ws30-q1.frag
+++ b/Shaders/ws30-q1.frag
@@ -41,7 +41,7 @@ void main()
 
 	// Different textures have different have different dimensions.
 	// Dimensions array is scaled to fit in [0...1.0] in the texture1D, so has to be scaled back up here.
-	vec4 color = texture(diffuseArray, float(lc)/512.0) * NdotL * gl_LightSource[0].diffuse;	
+	vec4 color = texture(diffuseArray, float(lc)/512.0) * (gl_LightSource[0].ambient + NdotL * gl_LightSource[0].diffuse);
 	vec4 specular = texture(specularArray, float(lc)/512.0);
 	vec2 atlas_dimensions = 10000.0 * texture(dimensionsArray, float(lc)/512.0).st;
 	vec2 atlas_scale =  vec2(tile_width / atlas_dimensions.s, tile_height / atlas_dimensions.t );
diff --git a/Shaders/ws30.frag b/Shaders/ws30.frag
index 07e16e072..90c02e362 100644
--- a/Shaders/ws30.frag
+++ b/Shaders/ws30.frag
@@ -40,7 +40,7 @@ void main()
 
 	// Different textures have different have different dimensions.
 	// Dimensions array is scaled to fit in [0...1.0] in the texture1D, so has to be scaled back up here.
-	vec4 color = texture(diffuseArray, float(lc)/512.0) * NdotL * gl_LightSource[0].diffuse;	
+	vec4 color = texture(diffuseArray, float(lc)/512.0) * (gl_LightSource[0].ambient + NdotL * gl_LightSource[0].diffuse);
 	vec4 specular = texture(specularArray, float(lc)/512.0);
 	vec2 atlas_dimensions = 10000.0 * texture(dimensionsArray, float(lc)/512.0).st;
 	vec2 atlas_scale =  vec2(tile_width / atlas_dimensions.s, tile_height / atlas_dimensions.t );