diff --git a/km3buu/output.py b/km3buu/output.py
index 109098616a69e7c5e0a5cc0abe0e945de1d2f7b3..df74a1962b3f72ea973fdf51d79996a8dfd64d21 100644
--- a/km3buu/output.py
+++ b/km3buu/output.py
@@ -747,8 +747,12 @@ def write_detector_file(gibuu_output,
             if prop_particles is not None:
                 lep_out_trk.status = km3io.definitions.trkmembers[
                     "TRK_ST_PROPLEPTON"]
-                generator_particle_state = km3io.definitions.trkmembers[
-                    "TRK_ST_UNDEFINED"]
+                if geometry.in_can(vtx_pos):
+                    generator_particle_state = km3io.definitions.trkmembers[
+                        "TRK_ST_FINALSTATE"]
+                else:
+                    generator_particle_state = km3io.definitions.trkmembers[
+                        "TRK_ST_UNDEFINED"]
             else:
                 lep_out_trk.status = km3io.definitions.trkmembers[
                     "TRK_ST_FINALSTATE"]