diff --git a/src/hardware/hw_shaders.c b/src/hardware/hw_shaders.c
index cb929ae6e9faa9fd10346c3b5e0560985a5adae1..7f3b5433f18a9b2694eac8dd044c1e9067c820c2 100644
--- a/src/hardware/hw_shaders.c
+++ b/src/hardware/hw_shaders.c
@@ -40,7 +40,7 @@
 	"{\n" \
 		"#ifdef SRB2_MODEL_LIGHTING\n" \
 		"float nDotVP = dot(gl_Normal, vec3(0, 1, 0));\n" \
-		"float light = 0.75 + max(nDotVP, 0.0);\n" \
+		"float light = min(0.75 + max(nDotVP, 0.0), 1.0);\n" \
 		"gl_FrontColor = vec4(light, light, light, 1.0);\n" \
 		"#else\n" \
 		"gl_FrontColor = gl_Color;\n" \