diff --git a/Phys/Tesla/python/Tesla/Configuration.py b/Phys/Tesla/python/Tesla/Configuration.py
index 59c8257823fcfaca0707e0ff90a0334b272c5beb..a331705f71c57ae84af39baad492adf03dc8080b 100644
--- a/Phys/Tesla/python/Tesla/Configuration.py
+++ b/Phys/Tesla/python/Tesla/Configuration.py
@@ -1124,10 +1124,10 @@ class Tesla(LHCbConfigurableUser):
             )
             stream_seq.Members.append(copy_line_outputs_seq)
 
-        required_output_locations = [
+        required_output_locations = []
+        optional_output_locations = [
             str(recsummary_decoder.OutputRecSummaryLocation) + '#1'
         ]
-        optional_output_locations = []
         if pack:
             datatype = self.getProp('DataType')
             packers = []
@@ -1221,20 +1221,22 @@ class Tesla(LHCbConfigurableUser):
         if online and not simulation:
             writer = OutputStream(namer(self.writerName))
             writer.AcceptAlgs += ['LumiSeq', 'PhysFilter']
-            # In online mode we perform the raw event juggling (otherwise
-            # Brunel does it for us), so must save the locations after juggling
-            optional_output_locations += self._output_raw_event_locations(raw_format_output)
+            # Keep the 2016 behaviour by not writing out anything if the
+            # sel reports are missing
+            writer.RequireAlgs = [self._selReportsCheck(), stream_seq]
         else:
-            # In offline mode, e.g. after Brunel, propagate everything from the
-            # input file to the output
+            # In offline mode, e.g. after Brunel, and the simulation we
+            # propagate everything from the input file to the output
             writer = InputCopyStream(namer(self.writerName))
 
+        # In online mode we perform the raw event juggling (otherwise
+        # Brunel does it for us), so must save the locations after juggling
+        if online:
+            optional_output_locations += self._output_raw_event_locations(raw_format_output)
+
         writer.ItemList = required_output_locations
         writer.OptItemList = optional_output_locations
 
-        # Keep the 2016 behaviour by not writing out anything if the
-        # sel reports are missing
-        writer.RequireAlgs = [self._selReportsCheck(), stream_seq]
         iohelper = IOHelper()
         iohelper.outStream(fname, writer, writeFSR=write_fsr)