diff --git a/scripts/exportlegends.lua b/scripts/exportlegends.lua
index ac5686cb6..59e73a3e9 100644
--- a/scripts/exportlegends.lua
+++ b/scripts/exportlegends.lua
@@ -397,14 +397,16 @@ function export_more_legends_xml()
--io.write ("\t\t".."<"..k.."_item_mat_index"..">"..tostring(event.props.item.mat_index)..""..k.."_item_mat_index"..">".."\n")
io.write ("\t\t".."<"..k.."_pile_type"..">"..tostring(event.props.pile_type)..""..k.."_pile_type"..">".."\n")
elseif event:getType() == df.history_event_type.ASSUME_IDENTITY and k == "identity" then
- if (df.global.world.identities.all[v].histfig_id == -1) then
- local thisIdentity = df.global.world.identities.all[v]
- io.write ("\t\t"..""..thisIdentity.name.first_name.."".."\n")
- io.write ("\t\t"..""..(df.global.world.raws.creatures.all[thisIdentity.race].creature_id):lower().."".."\n")
- io.write ("\t\t"..""..(df.global.world.raws.creatures.all[thisIdentity.race].caste[thisIdentity.caste].caste_id):lower().."".."\n")
- else
- io.write ("\t\t"..""..df.global.world.identities.all[v].histfig_id.."".."\n")
- end
+ if (table.contains(df.global.world.identities.all,v)) then
+ if (df.global.world.identities.all[v].histfig_id == -1) then
+ local thisIdentity = df.global.world.identities.all[v]
+ io.write ("\t\t"..""..thisIdentity.name.first_name.."".."\n")
+ io.write ("\t\t"..""..(df.global.world.raws.creatures.all[thisIdentity.race].creature_id):lower().."".."\n")
+ io.write ("\t\t"..""..(df.global.world.raws.creatures.all[thisIdentity.race].caste[thisIdentity.caste].caste_id):lower().."".."\n")
+ else
+ io.write ("\t\t"..""..df.global.world.identities.all[v].histfig_id.."".."\n")
+ end
+ end
elseif event:getType() == df.history_event_type.MASTERPIECE_CREATED_ARCH_CONSTRUCT and k == "building_type" then
io.write ("\t\t"..""..df.building_type[v]:lower().."".."\n")
elseif event:getType() == df.history_event_type.MASTERPIECE_CREATED_ARCH_CONSTRUCT and k == "building_subtype" then