diff --git a/src/playsim/shadowinlines.h b/src/playsim/shadowinlines.h index 574abd2519..b36b051ac4 100644 --- a/src/playsim/shadowinlines.h +++ b/src/playsim/shadowinlines.h @@ -88,6 +88,7 @@ inline AActor* CheckForShadows(AActor* self, AActor* other, DVector3 pos, double if ((other && (other->flags & MF_SHADOW)) || (self->flags9 & MF9_DOSHADOWBLOCK)) { AActor* shadowBlock = P_CheckForShadowBlock(self, other, pos, penaltyFactor); + if (other && !(other->flags & MF_SHADOW)) other = nullptr; //Other doesn't have MF_SHADOW, so don't count them as a valid return. return shadowBlock ? shadowBlock : other; } return nullptr;