diff --git a/apps/openmw/mwmechanics/spells.cpp b/apps/openmw/mwmechanics/spells.cpp index 25f3011189..0a11ed6414 100644 --- a/apps/openmw/mwmechanics/spells.cpp +++ b/apps/openmw/mwmechanics/spells.cpp @@ -283,12 +283,18 @@ namespace MWMechanics { if (isSpellActive(id)) { - TContainer::iterator spellIt = mSpells.find(getSpell(id)); - for (long unsigned int i = 0; i != spellIt->first->mEffects.mList.size(); i++) + for (TContainer::iterator spell = mSpells.begin(); spell != mSpells.end(); ++spell) { - spellIt->second.mPurgedEffects.insert(i); - mSpellsChanged = true; + if (spell->first == getSpell(id)) + { + for (long unsigned int i = 0; i != spell->first->mEffects.mList.size(); i++) + { + spell->second.mPurgedEffects.insert(i); + } + } } + + mSpellsChanged = true; } }