diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index 25f4a45b545766381bb51bfb903510dc3976bb0f..bbb62e858ee91e1d51d706bc7378065257b1eb2a 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -265,6 +265,10 @@ class ResultsWindow(PamhyrWindow):
             )
             self.plot_sed_profile.draw()
 
+    def closeEvent(self, event):
+        self._timer.stop()
+        super(ResultsWindow, self).closeEvent(event)
+
     def _compute_status_label(self):
         # Timestamp
         ts = self._timestamps[self._slider_time.value()]
diff --git a/src/View/RunSolver/Window.py b/src/View/RunSolver/Window.py
index 49bc0ab537a4bc9e09b2aa93c8f874c49b2cb0a3..b950b92956ee9d0aa0296d260355647ad5183604 100644
--- a/src/View/RunSolver/Window.py
+++ b/src/View/RunSolver/Window.py
@@ -195,7 +195,7 @@ class SolverLogWindow(PamhyrWindow):
             os.makedirs(self._workdir, exist_ok=True)
 
     def setup_process(self):
-        self._alarm.start(500)
+        self._alarm.start(100)
         self._output = Queue()
         self._process = self.new_process(self._parent)
 
@@ -210,6 +210,10 @@ class SolverLogWindow(PamhyrWindow):
         self._solver.export(self._study, self._workdir, qlog=self._output)
         self.update()
 
+    def closeEvent(self, event):
+        self._alarm.stop()
+        super(SolverLogWindow, self).closeEvent(event)
+
     #######
     # LOG #
     #######
@@ -259,6 +263,7 @@ class SolverLogWindow(PamhyrWindow):
             if self._solver.log_file() != "":
                 self.find(QAction, "action_log_file").setEnabled(True)
 
+            self._update_logs_all()
             self._update_get_results()
 
         self._update_logs_all()