diff --git a/src/output/VTKWriter.hpp b/src/output/VTKWriter.hpp
index dc3d1bb12018184c6b75a3997a1f889d1f3cc3d3..f26e0b4fdedecd1c04299dbd16a44f6d87bcccc6 100644
--- a/src/output/VTKWriter.hpp
+++ b/src/output/VTKWriter.hpp
@@ -361,6 +361,13 @@ class VTKWriter
       fout << "</VTKFile>\n";
     }
     m_file_number++;
+
+    if (parallel::size() > 1) {
+      perr() << __FILE__ << ':' << __LINE__ << ": stopping parallel execution\n";
+      parallel::barrier();
+      parallel::messenger().destroy();
+      std::exit(0);
+    }
   }
 
   VTKWriter(const std::string& base_filename,
diff --git a/src/scheme/AcousticSolver.hpp b/src/scheme/AcousticSolver.hpp
index 04d2a524e4dd96dab3025dae9a6be95cec357071..3cb320957e2175da47059eeb215dd8e1a6e34592 100644
--- a/src/scheme/AcousticSolver.hpp
+++ b/src/scheme/AcousticSolver.hpp
@@ -251,13 +251,6 @@ class AcousticSolver
   double acoustic_dt(const CellValue<const double>& Vj,
                      const CellValue<const double>& cj) const
   {
-    if (parallel::size() > 1) {
-      perr() << __FILE__ << ':' << __LINE__ << ": stopping parallel execution\n";
-      parallel::barrier();
-      parallel::messenger().destroy();
-      std::exit(0);
-    }
-
     const NodeValuePerCell<const double>& ljr = m_mesh_data.ljr();
     const auto& cell_to_node_matrix
         = m_mesh.connectivity().cellToNodeMatrix();