diff --git a/apps/openmw/mwworld/inventorystore.cpp b/apps/openmw/mwworld/inventorystore.cpp index 08436b238..e8a4d1c4d 100644 --- a/apps/openmw/mwworld/inventorystore.cpp +++ b/apps/openmw/mwworld/inventorystore.cpp @@ -722,7 +722,11 @@ void MWWorld::InventoryStore::rechargeItems(float duration) void MWWorld::InventoryStore::purgeEffect(short effectId) { - mMagicEffects.remove(MWMechanics::EffectKey(effectId)); + for (TSlots::const_iterator it = mSlots.begin(); it != mSlots.end(); ++it) + { + if (*it != end()) + purgeEffect(effectId, (*it)->getCellRef().getRefId()); + } } void MWWorld::InventoryStore::purgeEffect(short effectId, const std::string &sourceId)