diff --git a/src/View/HydraulicStructures/BasicHydraulicStructures/Table.py b/src/View/HydraulicStructures/BasicHydraulicStructures/Table.py
index f6d22a77e0c736145f95e9834f28ebc78a4ee3a3..e043d19ec70e39703670ffeff753d3ab11c439e0 100644
--- a/src/View/HydraulicStructures/BasicHydraulicStructures/Table.py
+++ b/src/View/HydraulicStructures/BasicHydraulicStructures/Table.py
@@ -38,7 +38,7 @@ from View.Tools.PamhyrTable import PamhyrTableModel
 
 from View.HydraulicStructures.BasicHydraulicStructures.UndoCommand import (
     SetNameCommand, SetTypeCommand,
-    AddCommand, DelCommand,
+    SetEnabledCommand, AddCommand, DelCommand,
 )
 from Model.HydraulicStructures.Basic.Types import BHS_types
 
@@ -175,6 +175,14 @@ class TableModel(PamhyrTableModel):
         self.endRemoveRows()
         self.layoutChanged.emit()
 
+    def enabled(self, row, enabled, parent=QModelIndex()):
+        self._undo.push(
+            SetEnabledCommand(
+                self._lst, row, enabled
+            )
+        )
+        self.layoutChanged.emit()
+
     def undo(self):
         self._undo.undo()
         self.layoutChanged.emit()
diff --git a/src/View/HydraulicStructures/BasicHydraulicStructures/UndoCommand.py b/src/View/HydraulicStructures/BasicHydraulicStructures/UndoCommand.py
index ec7f0eaf23eae48122089f1263b2782efa596bc7..80bd1f3f580fff22f74b9ad71c43b8e2afd7366e 100644
--- a/src/View/HydraulicStructures/BasicHydraulicStructures/UndoCommand.py
+++ b/src/View/HydraulicStructures/BasicHydraulicStructures/UndoCommand.py
@@ -60,6 +60,22 @@ class SetTypeCommand(QUndoCommand):
         self._hs.insert(self._index, self._new)
 
 
+class SetEnabledCommand(QUndoCommand):
+    def __init__(self, hs, index, enabled):
+        QUndoCommand.__init__(self)
+
+        self._hs = hs
+        self._index = index
+        self._old = not enabled
+        self._new = enabled
+
+    def undo(self):
+        self._hs.basic_structure(self._index).enabled = self._old
+
+    def redo(self):
+        self._hs.basic_structure(self._index).enabled = self._new
+
+
 class AddCommand(QUndoCommand):
     def __init__(self, hs, index):
         QUndoCommand.__init__(self)
diff --git a/src/View/HydraulicStructures/BasicHydraulicStructures/Window.py b/src/View/HydraulicStructures/BasicHydraulicStructures/Window.py
index 58af27ed7f5ff3665d8f18fd11d1f3783e84e8a5..976f6bf70153f8ff7877f571953bcdc9426cf8f5 100644
--- a/src/View/HydraulicStructures/BasicHydraulicStructures/Window.py
+++ b/src/View/HydraulicStructures/BasicHydraulicStructures/Window.py
@@ -145,13 +145,15 @@ class BasicHydraulicStructuresWindow(PamhyrWindow):
     def setup_connections(self):
         self.find(QAction, "action_add").triggered.connect(self.add)
         self.find(QAction, "action_delete").triggered.connect(self.delete)
-        self._checkbox.stateChanged.connect(self._set_basic_structure_state)
+        self._checkbox.clicked.connect(self._set_basic_structure_state)
 
         table = self.find(QTableView, "tableView")
         table.selectionModel()\
                  .selectionChanged\
                  .connect(self.update)
 
+        self._table.layoutChanged.connect(self.update)
+
     def index_selected(self):
         table = self.find(QTableView, "tableView")
         r = table.selectionModel()\
@@ -219,10 +221,11 @@ class BasicHydraulicStructuresWindow(PamhyrWindow):
 
     def _set_basic_structure_state(self):
         row = self.index_selected_row()
-        if row is None:
-            self._checkbox.setEnabled(False)
-        else:
-            self._hs.basic_structure(row).enabled = self._checkbox.isChecked()
+        if row is not None:
+            self._table.enabled(
+                row,
+                self._checkbox.isChecked()
+            )
 
     def update(self):
         self._set_checkbox_state()
diff --git a/src/View/HydraulicStructures/UndoCommand.py b/src/View/HydraulicStructures/UndoCommand.py
index 826cd268a4370d32ebef7b8fd47f3397a2294c09..9c47ccf12256fb436862ef1316db9814ddfd52a2 100644
--- a/src/View/HydraulicStructures/UndoCommand.py
+++ b/src/View/HydraulicStructures/UndoCommand.py
@@ -92,11 +92,9 @@ class SetEnabledCommand(QUndoCommand):
         self._new = enabled
 
     def undo(self):
-        logger.info(f"Undo {self._new} -> {self._old}")
         self._h_s_lst.get(self._index).enabled = self._old
 
     def redo(self):
-        logger.info(f"Undo {self._old} -> {self._new}")
         self._h_s_lst.get(self._index).enabled = self._new