diff --git a/src/View/Frictions/Window.py b/src/View/Frictions/Window.py
index d57614856ee1014b1098af7000ad8417051a5729..81049593c6d8d2c86f6fa80fc84d364ad109ab34 100644
--- a/src/View/Frictions/Window.py
+++ b/src/View/Frictions/Window.py
@@ -68,7 +68,7 @@ class FrictionsWindow(ASubMainWindow, ListedSubWindow):
         self.setup_title(title)
 
         super(FrictionsWindow, self).__init__(
-            name=self._title, ui="Frictions", parent=parent
+            name=title, ui="Frictions", parent=parent
         )
 
         self.setup_sc()
@@ -246,9 +246,17 @@ class FrictionsWindow(ASubMainWindow, ListedSubWindow):
         self._table.redo()
 
     def edit_stricklers(self):
-        self.strick = StricklersWindow(
-            study = self._study,
-            config = self.parent.conf,
-            parent = self
+        strick = self.sub_win_filter_first(
+            "Stricklers",
+            contain = []
         )
-        self.strick.show()
+
+        if strick is None:
+            strick = StricklersWindow(
+                study = self._study,
+                config = self.parent.conf,
+                parent = self
+            )
+            strick.show()
+        else:
+            strick.activateWindow()
diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index 8b028d1bc9debb420ac29a375cbe9423b776db92..08c866289146e16415ebb9b1520bc7fab0e395ce 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -494,21 +494,38 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
             lateral.activateWindow()
 
     def open_stricklers(self):
-        strick = StricklersWindow(
-            study = self.model,
-            config = self.conf,
-            parent = self
+        strick = self.sub_win_filter_first(
+            "Stricklers",
+            contain = []
         )
-        strick.show()
+
+        if strick is None:
+            strick = StricklersWindow(
+                study = self.model,
+                config = self.conf,
+                parent = self
+            )
+            strick.show()
+        else:
+            strick.activateWindow()
 
     def open_frictions(self):
         if (self.model is not None and
             self.model.river.has_current_reach()):
-            frictions = FrictionsWindow(
-                study = self.model,
-                parent = self
+
+            frictions = self.sub_win_filter_first(
+                "Frictions",
+                contain = [self.model.river.current_reach().name]
             )
-            frictions.show()
+
+            if frictions is None:
+                frictions = FrictionsWindow(
+                    study = self.model,
+                    parent = self
+                )
+                frictions.show()
+            else:
+                frictions.activateWindow()
         else:
             self.msg_select_reach()
 
diff --git a/src/View/Stricklers/Window.py b/src/View/Stricklers/Window.py
index 29f886cb1afb927986123be3ca4321d83fc7b1f3..8726f971403ddc5cb6043c7b297918a354a16a5e 100644
--- a/src/View/Stricklers/Window.py
+++ b/src/View/Stricklers/Window.py
@@ -51,7 +51,7 @@ logger = logging.getLogger()
 
 class StricklersWindow(ASubMainWindow, ListedSubWindow):
     def __init__(self, title="Stricklers", study=None, config=None, parent=None):
-        title = title + " - " + study.name
+        self._title = title + " - " + study.name
 
         super(StricklersWindow, self).__init__(
             name=title, ui="Stricklers", parent=parent
@@ -64,7 +64,7 @@ class StricklersWindow(ASubMainWindow, ListedSubWindow):
         self.setup_table()
         self.setup_connections()
 
-        self.ui.setWindowTitle(title)
+        self.ui.setWindowTitle(self._title)
 
     def setup_sc(self):
         self._undo_stack = QUndoStack()