diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index 902d2d830bd022ad8f9ab08462ae5867c6190f86..1d8cbee4531645ce494cc131e1a85740d7fdb11f 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -342,6 +342,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
     def _do_propagate_update(self):
         for key in self._propagation_keys:
             if key == "window_list":
+                logger.debug(f"Update window list")
                 self._do_update_window_list()
                 continue
 
@@ -568,9 +569,9 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
         elif res == QMessageBox.Cancel:
             return False
 
-    #############
-    # SUBWINDOW #
-    #############
+    #########################
+    # SUB WINDOWS MENU LIST #
+    #########################
 
     def _activate_window(self, window_hash):
         self._try_activate_window_for_window(self, window_hash)
@@ -629,6 +630,10 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
 
         menu.addAction(action)
 
+    ###############
+    # SUB WINDOWS #
+    ###############
+
     def open_configure(self):
         """Open configure window
 
diff --git a/src/View/Tools/ListedSubWindow.py b/src/View/Tools/ListedSubWindow.py
index dad3623432cb63836c8a7becd58dcbf2ec32f1b6..2a4d6e84dc067b16b9adf09fe90c9756972c78e4 100644
--- a/src/View/Tools/ListedSubWindow.py
+++ b/src/View/Tools/ListedSubWindow.py
@@ -112,3 +112,7 @@ class ListedSubWindow(object):
             self._parent._update_window_list()
         except Exception:
             return
+
+    def _close_sub_window(self):
+        for _, win in self._sub_win_list:
+            win.close()
diff --git a/src/View/Tools/PamhyrWindow.py b/src/View/Tools/PamhyrWindow.py
index 32b77db9c6e2f07764fe360623a9f5d1c1b45ad0..7555d5fbb0687a3b9a88e915b538ad4729bb20c7 100644
--- a/src/View/Tools/PamhyrWindow.py
+++ b/src/View/Tools/PamhyrWindow.py
@@ -172,6 +172,12 @@ class PamhyrWindow(ASubMainWindow, ListedSubWindow, PamhyrWindowTools):
 
         self._set_title()
 
+    def closeEvent(self, event):
+        self._close_sub_window()
+        self._propagate_update("window_list")
+
+        super(PamhyrWindow, self).closeEvent(event)
+
 
 class PamhyrDialog(ASubWindow, ListedSubWindow, PamhyrWindowTools):
     _pamhyr_ui = "dummy"