diff --git a/src/playsim/a_dynlight.cpp b/src/playsim/a_dynlight.cpp index dddb9f54e..6d67d4e1b 100644 --- a/src/playsim/a_dynlight.cpp +++ b/src/playsim/a_dynlight.cpp @@ -255,7 +255,7 @@ void FDynamicLight::Tick() if (owned) { - if (!target->state) + if (!target->state || !target->ShouldRenderLocally()) { Deactivate(); return; diff --git a/src/playsim/dthinker.cpp b/src/playsim/dthinker.cpp index 3214decf3..4229de792 100644 --- a/src/playsim/dthinker.cpp +++ b/src/playsim/dthinker.cpp @@ -132,7 +132,7 @@ void FThinkerCollection::RunThinkers(FLevelLocals *Level) if (dolights) ac->SetDynamicLights(); } // This was merged from P_RunEffects to eliminate the costly duplicate ThinkerIterator loop. - if ((ac->effects || ac->fountaincolor) && !Level->isFrozen()) + if ((ac->effects || ac->fountaincolor) && ac->ShouldRenderLocally() && !Level->isFrozen()) { P_RunEffect(ac, ac->effects); }