diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index 08c866289146e16415ebb9b1520bc7fab0e395ce..ad2e1c3c30dc772649ae36bb26060c60b3818744 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -540,11 +540,19 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
             self.msg_select_reach()
 
     def open_solver_parameters(self):
-        params = SolverParametersWindow(
-            study = self.model,
-            parent = self
+        params = self.sub_win_filter_first(
+            "Solver parameters",
+            contain = []
         )
-        params.show()
+
+        if params is None:
+            params = SolverParametersWindow(
+                study = self.model,
+                parent = self
+            )
+            params.show()
+        else:
+            params.activateWindow()
 
     def run_solver(self):
         if self.model is None:
diff --git a/src/View/SolverParameters/Window.py b/src/View/SolverParameters/Window.py
index 9560251de1c1ab11551856b565a7f11145abc8df..c04eebc7ed777cbdcc384d17442cce8f0eb5fb7d 100644
--- a/src/View/SolverParameters/Window.py
+++ b/src/View/SolverParameters/Window.py
@@ -56,7 +56,7 @@ class SolverParametersWindow(ASubMainWindow, ListedSubWindow):
         # Init tanslate dictionary
         tr.init()
 
-        title = title + " - " + study.name
+        self._title = title + " - " + study.name
 
         super(SolverParametersWindow, self).__init__(
             name=title, ui="SolverParameters", parent=parent
@@ -69,7 +69,7 @@ class SolverParametersWindow(ASubMainWindow, ListedSubWindow):
         self.setup_table()
         self.setup_connections()
 
-        self.ui.setWindowTitle(title)
+        self.ui.setWindowTitle(self._title)
 
     def setup_sc(self):
         self._undo_stack = {}