Surf_source_write not populating source_bank

I am restarting a simulation, from an arbitary time step, using the following code:

# --- Getting UPDATED materials ---
materials2 = dep_res.export_to_materials(INDEX)
materials2.export_to_xml()

# --- Defining NEW settings ---
settings2 = openmc.Settings()
settings2.run_mode = run_mode
settings2.photon_transport = True
settings2.particles = 10000
settings2.batches = 40
settings2.inactive = 10

surf1 = openmc.ZCylinder(x0=0 , y0=0 , r = 70, surface_id = 99999)
surf2 = openmc.ZPlane(z0=243.561/2,  surface_id = 99998)
surf3 = openmc.ZPlane(z0=-243.561/2, surface_id = 99997)
settings2.surf_source_write = {'surface_ids': [99999,99998,99997],
                               'max_particles': 1000}
settings2.verbosity = 6

# --- Redefining geometry ---
with openmc.StatePoint(f"statepoint.{int(active_cycles)}.h5") as sp:
    geom2 = sp.summary.geometry
    geom2.export_to_xml()

model2 = openmc.model.Model(materials=materials2,settings=settings2,geometry=geom2)
sp_filename = model2.run()

This code has taken bits and pieces from other examples. Note that materials 2 is just an example with some burnt materials in.

However, the issue is (for any surface I use) the source_bank is empty, despite writing a new file each time I try this