diff --git a/examples/vertical_EAS.cpp b/examples/vertical_EAS.cpp
index 5816e43bb7b1449afed9fce40476d795bc471dee..02c4b275ace5829a3921b6349e6d8dafc0c42278 100644
--- a/examples/vertical_EAS.cpp
+++ b/examples/vertical_EAS.cpp
@@ -223,22 +223,24 @@ int main(int argc, char** argv) {
 
   decaySibyll.printDecayConfig();
 
+  // create the output manager that we then register outputs with
+  OutputManager output("vertical_EAS_outputs");
+
   ParticleCut cut{60_GeV, 60_GeV, 60_GeV, 60_GeV, true};
   corsika::proposal::Interaction proposal(env);
   corsika::proposal::ContinuousProcess em_continuous(env);
   InteractionCounter proposalCounted(proposal);
 
   OnShellCheck reset_particle_mass(1.e-3, 1.e-1, false);
-  TrackWriter trackWriter("tracks.dat");
+
+  TrackWriter trackWriter;
+  output.add("tracks", trackWriter); // register TrackWriter
 
   LongitudinalProfile longprof{showerAxis};
 
   Plane const obsPlane(showerCore, DirectionVector(rootCS, {0., 0., 1.}));
   ObservationPlane observationLevel(obsPlane, DirectionVector(rootCS, {1., 0., 0.}));
 
-  // create the output manager that we then register outputs with
-  OutputManager output("vertical_EAS_outputs");
-
   // register the observation plane with the output
   output.add("obsplane", observationLevel);