diff --git a/src/g_shared/a_dynlight.cpp b/src/g_shared/a_dynlight.cpp index 4c57648c44..701e228530 100644 --- a/src/g_shared/a_dynlight.cpp +++ b/src/g_shared/a_dynlight.cpp @@ -854,15 +854,18 @@ void AActor::RecreateAllAttachedLights() while ((a=it.Next())) { - if (a->IsKindOf(NAME_DynamicLight)) - { - ::AttachLight(a); - ::ActivateLight(a); - } - else + if (!a->IsKindOf(NAME_DynamicLight)) { a->SetDynamicLights(); } + else if (a->AttachedLights.Size() == 0) + { + ::AttachLight(a); + if (!(a->flags2 & MF2_DORMANT)) + { + ::ActivateLight(a); + } + } } }