diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c
index f47d6c004831416bbd0054f8cbdd60b71d7006c5..076728d97e3f9d08d7d0e19d3a4036e137a02152 100644
--- a/src/hardware/hw_main.c
+++ b/src/hardware/hw_main.c
@@ -4366,7 +4366,7 @@ static void HWR_AddPrecipitationSprites(void)
 	precipmobj_t *th;
 
 	// no, no infinite draw distance for precipitation. this option at zero is supposed to turn it off
-	if (drawdist == 0)
+	if (drawdist == 0 || curWeather == PRECIP_BLANK || curWeather == PRECIP_STORM_NORAIN || curWeather == PRECIP_NONE)
 	{
 		return;
 	}
diff --git a/src/r_things.c b/src/r_things.c
index 476a8348b2b577d9085f559f57faef236074ae96..2494f16ddcfa587dc2aad8357d9cd2bb0fb76e48 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -2783,7 +2783,7 @@ void R_AddPrecipitationSprites(void)
 	precipmobj_t *th;
 
 	// no, no infinite draw distance for precipitation. this option at zero is supposed to turn it off
-	if (drawdist == 0)
+	if (drawdist == 0 || curWeather == PRECIP_BLANK || curWeather == PRECIP_STORM_NORAIN || curWeather == PRECIP_NONE)
 	{
 		return;
 	}