diff --git a/src/calng/CrystfelRunner.py b/src/calng/CrystfelRunner.py
index 9505616fee513bf6138c9395991755cff3562642..e370a0554892933e4cd93fdddd127261be67726c 100644
--- a/src/calng/CrystfelRunner.py
+++ b/src/calng/CrystfelRunner.py
@@ -394,10 +394,12 @@ class CrystfelRunner(PythonDevice):
         self.KARABO_ON_EOS("input", self.end_of_stream_handler)
         self.KARABO_ON_INPUT("input", self.input_handler)
 
-        # start CrystFEL by default
-        # this creates a temporary stream file if needed and runs CrystFEL reading
-        # from the ZMQ stream
-        self.startCrystfel()
+        # start CrystFEL by default if this is uncommented
+        #self.startCrystfel()
+
+    def preDestruction(self):
+        """Stop CrystFEL processes before sutting down the instance."""
+        self.stopCrystfel()
 
     def startCrystfel(self):
         """Start the CrystFEL process."""