diff --git a/Effects/planet.eff b/Effects/planet.eff
index 8744fe8c5..37379d3ab 100644
--- a/Effects/planet.eff
+++ b/Effects/planet.eff
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <PropertyList>
 	<name>Effects/planet</name>
-	<!-- 	<inherits-from>Effects/shadow</inherits-from> -->
 	<parameters>
 		<texture n ="0">
 			<type>white</type>
@@ -79,7 +78,9 @@
 				</color-mode>
 			</material>
 			<blend><use>transparent</use></blend>
-			<alpha-test><use>transparent</use></alpha-test>
+			<alpha-test>
+				<active type="bool">false</active>
+			</alpha-test>
 			<shade-model>
 				<use>shade-model</use>
 			</shade-model>
diff --git a/Shaders/planet.frag b/Shaders/planet.frag
index 9ab16d4e8..6dc8d6006 100644
--- a/Shaders/planet.frag
+++ b/Shaders/planet.frag
@@ -55,6 +55,8 @@ void main()
 		{shadowTexel = vec4 (0.0,0.0,0.0,0.0);}	
  
 	texel = texture2D(texture, gl_TexCoord[0].st);
+        float night_light = texel.a;
+	texel.a = 1.0;
 	grainTexel = texture2D(grain_texture, gl_TexCoord[0].st * 40.0);
 
 	float noise = Noise2D( gl_TexCoord[0].st, 0.00005);
@@ -66,13 +68,15 @@ void main()
 	
     vec3 light_specular = vec3 (1.0, 1.0, 1.0);
     NdotL = dot(n, lightDir);
+    float NdotLraw = NdotL;
     // due to atmosphere scattering, we should make this harder
     NdotL = smoothstep(-0.2,0.2,NdotL);	
    
     float intensity = length(diffuse_term);
     vec4 dawn = intensity * normalize (vec4 (1.0,0.4,0.4,1.0));
     vec4 diff_term = mix(dawn, diffuse_term, smoothstep(0.0, 0.2, NdotL));
-	
+
+   
     intensity = length(light_specular);
     light_specular = mix(dawn.rgb, light_specular, smoothstep(0.0, 0.2, NdotL));
     
@@ -91,6 +95,9 @@ void main()
 
 	//texel.rgb = vec3 (0.5,0.5,0.5);
 
+
+
+
     if (NdotL > 0.0) {
         color += diffuse_term * NdotL * (1.0-shadowTexel.a);
         NdotHV = max(dot(n, halfVector), 0.0);
@@ -100,6 +107,9 @@ void main()
                             * pow(NdotHV, gl_FrontMaterial.shininess));
     }
     color.a = diffuse_term.a;
+
+
+
     // This shouldn't be necessary, but our lighting becomes very
     // saturated. Clamping the color before modulating by the texture
     // is closer to what the OpenGL fixed function pipeline does.
@@ -108,6 +118,9 @@ void main()
     fragColor = color * texel + specular;
 	//fragColor = fragColor * (1.0 - 0.5 * shadowTexel.a);
 	//fragColor = mix(fragColor, shadowTexel, shadowTexel.a);
+
+    float night_light_factor = (1.0 -night_light) * (1.0 - smoothstep(-0.3, -0.1, NdotLraw));	
+    fragColor.rgb += vec3(0.6, 0.55, 0.4) * night_light_factor;
 	
 	float angle = dot(normalize(ecViewDir), normalize(normal));
 	float distance_through_atmosphere = min(10.0 / (abs(angle)+0.001),500.0);
@@ -126,7 +139,6 @@ void main()
 
 	fragColor = mix(fogColor, fragColor, fogFactor);
 
-
     gl_FragColor = fragColor;
     //gl_FragColor = vec4 (NdotL - 0.5, NdotL - 0.5, NdotL - 0.5, 1.0);
 }