diff --git a/src/r_things.c b/src/r_things.c
index 628239957f4e3877f231e5d28f399f5f9c3ff7ee..4db6cae587973afac29e7756b8c8479d0f59859b 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -1231,7 +1231,8 @@ static void R_ProjectDropShadow(mobj_t *thing, vissprite_t *vis, fixed_t tx, fix
 	shadow->cut = SC_ISSCALED|SC_SHADOW; //check this
 
 	shadow->startfrac = 0;
-	shadow->xiscale = 0x7ffffff0 / (shadow->xscale/2);
+	//shadow->xiscale = 0x7ffffff0 / (shadow->xscale/2);
+	shadow->xiscale = (patch->width<<FRACBITS)/(x2-x1+1); // fuck it
 
 	if (shadow->x1 > x1)
 		shadow->startfrac += shadow->xiscale*(shadow->x1-x1);