diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index 1fd6a9169..cff30c185 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -2600,8 +2600,12 @@ void LoadLevel() if (leveltype != DTYPE_TOWN) { for (int &monsterId : ActiveMonsters) monsterId = file.NextBE(); - for (size_t i = 0; i < ActiveMonsterCount; i++) - LoadMonster(&file, Monsters[ActiveMonsters[i]]); + for (size_t i = 0; i < ActiveMonsterCount; i++) { + Monster &monster = Monsters[ActiveMonsters[i]]; + LoadMonster(&file, monster); + if (monster.isUnique() && monster.lightId != NO_LIGHT) + Lights[monster.lightId].isInvalid = false; + } for (int &objectId : ActiveObjects) objectId = file.NextLE(); for (int &objectId : AvailableObjects)