diff --git a/Shaders/HDR/atmos-aerial-perspective.frag b/Shaders/HDR/atmos-aerial-perspective.frag
index 5ec3ac62b..c9be8cc8e 100644
--- a/Shaders/HDR/atmos-aerial-perspective.frag
+++ b/Shaders/HDR/atmos-aerial-perspective.frag
@@ -60,7 +60,7 @@ void main()
     vec3 rayDir = vec4(fg_ViewMatrixInverse * vec4(normalize(fragPos), 0.0)).xyz;
 
     float cameraHeight = length(fg_CameraPositionCart);
-    float earthRadius = cameraHeight - fg_CameraPositionGeod.z;
+    float earthRadius = cameraHeight - max(fg_CameraPositionGeod.z, 0.0);
 
     vec3 rayOrigin = fg_CameraPositionCart;
 
diff --git a/Shaders/HDR/atmos-sky-view.frag b/Shaders/HDR/atmos-sky-view.frag
index e0a5f6a4a..8b4d08bb7 100644
--- a/Shaders/HDR/atmos-sky-view.frag
+++ b/Shaders/HDR/atmos-sky-view.frag
@@ -49,7 +49,7 @@ void main()
     vec3 rayDir = vec3(cos(elev) * cos(azimuth), cos(elev) * sin(azimuth), sin(elev));
 
     float cameraHeight = length(fg_CameraPositionCart);
-    float earthRadius = cameraHeight - fg_CameraPositionGeod.z;
+    float earthRadius = cameraHeight - max(fg_CameraPositionGeod.z, 0.0);
 
     vec3 rayOrigin = vec3(0.0, 0.0, cameraHeight);