diff --git a/ref/soft/r_decals.c b/ref/soft/r_decals.c index 57be64d2..ac2b1501 100644 --- a/ref/soft/r_decals.c +++ b/ref/soft/r_decals.c @@ -632,7 +632,7 @@ void R_DecalSurface( msurface_t *surf, decalinfo_t *decalinfo ) { // NOTE: we may have the decal on this surface that come from another level. // check duplicate with same position and texture - while( decal != NULL ) + while( decal != NULL && decal != decal->pnext ) { if( VectorCompare( decal->position, decalinfo->m_Position ) && decal->texture == decalinfo->m_iTexture ) return; // decal already exists, don't place it again