diff --git a/apps/openmw/mwworld/projectilemanager.cpp b/apps/openmw/mwworld/projectilemanager.cpp index e610dda19f..60e1a99737 100644 --- a/apps/openmw/mwworld/projectilemanager.cpp +++ b/apps/openmw/mwworld/projectilemanager.cpp @@ -569,7 +569,11 @@ namespace MWWorld if (const ESM::Spell* spell = esmStore.get().search(magicBoltState.mSpellId)) effects = &spell->mEffects; else - effects = &esmStore.get().find(magicBoltState.mSpellId)->mEffects; + { + MWWorld::ManualRef ref(esmStore, magicBoltState.mSpellId); + const MWWorld::Ptr& ptr = ref.getPtr(); + effects = &esmStore.get().find(ptr.getClass().getEnchantment(ptr))->mEffects; + } cast.inflict(target, caster, *effects, ESM::RT_Target); magicBoltState.mToDelete = true;