diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index 116045038d0d40f480dfe71edda2ca5bdbe2821a..27e09ad1d863fc1ae58241f7591216df55ab974b 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -793,21 +793,24 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
             return
 
         # Windows already opened
-        res = self.sub_win_filter_first(
-            "Results",
-            contain=[solver.name, results.date]
-        )
+        if self._sub_window_exists(
+                ResultsWindow,
+                data=[
+                    self._study,
+                    None,       # No config
+                    solver,
+                    results
+                ]
+        ):
+            return
 
-        if res is None:
-            res = ResultsWindow(
-                study=self._study,
-                solver=solver,
-                results=results,
-                parent=self
-            )
-            res.show()
-        else:
-            res.activateWindow()
+        res = ResultsWindow(
+            study=self._study,
+            solver=solver,
+            results=results,
+            parent=self
+        )
+        res.show()
 
     def open_last_results(self):
         if self._last_solver is None or self._last_results is None:
diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index 9d5d0f95981bfadcbbbedf6c9847fb6e06ede971..d411550742813012b74bca19cb0aeb169b4bf61a 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -91,6 +91,9 @@ class ResultsWindow(PamhyrWindow):
             parent=parent
         )
 
+        self._hash_data.append(self._solver)
+        self._hash_data.append(self._results)
+
         self._additional_plot = {}
 
         self.setup_table()