diff --git a/apps/openmw/mwclass/creaturelevlist.cpp b/apps/openmw/mwclass/creaturelevlist.cpp
index a9b7abdc7d..464a1acfa0 100644
--- a/apps/openmw/mwclass/creaturelevlist.cpp
+++ b/apps/openmw/mwclass/creaturelevlist.cpp
@@ -127,10 +127,10 @@ namespace MWClass
         if (!customData.mSpawn)
             return;
 
-        MWWorld::LiveCellRef<ESM::CreatureLevList>* ref = ptr.get<ESM::CreatureLevList>();
-
+        const MWWorld::ESMStore& store = MWBase::Environment::get().getWorld()->getStore();
         auto& prng = MWBase::Environment::get().getWorld()->getPrng();
-        const ESM::RefId& id = MWMechanics::getLevelledItem(ref->mBase, true, prng);
+        const ESM::RefId& id = MWMechanics::getLevelledItem(
+            store.get<ESM::CreatureLevList>().find(ptr.getCellRef().getRefId()), true, prng);
 
         if (!id.empty())
         {
@@ -144,7 +144,6 @@ namespace MWClass
                 customData.mSpawnActorId = -1;
             }
 
-            const MWWorld::ESMStore& store = MWBase::Environment::get().getWorld()->getStore();
             MWWorld::ManualRef manualRef(store, id);
             manualRef.getPtr().getCellRef().setPosition(ptr.getCellRef().getPosition());
             manualRef.getPtr().getCellRef().setScale(ptr.getCellRef().getScale());