diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py
index add3f1a7537d09fcac362a1fea9dc12e6be69e55..f7397defd98b3d1d5fb9ed49223e21db879de7f1 100644
--- a/src/View/InitialConditions/Window.py
+++ b/src/View/InitialConditions/Window.py
@@ -365,40 +365,43 @@ class InitialConditionsWindow(PamhyrWindow):
         self._update()
 
     def generate_growing_constant_depth(self):
-        dlg = DepthDialog(self.depth_value,
-                          self.depth_option,
-                          trad=self._trad,
-                          parent=self)
-        if dlg.exec():
-            self.depth_value = dlg.value
-            self.depth_option = dlg.option
-            self._table.generate("growing",
-                                 self.depth_value,
-                                 self.depth_option)
-            self._update()
+        if self._reach.reach.number_profiles > 0:
+            dlg = DepthDialog(self.depth_value,
+                            self.depth_option,
+                            trad=self._trad,
+                            parent=self)
+            if dlg.exec():
+                self.depth_value = dlg.value
+                self.depth_option = dlg.option
+                self._table.generate("growing",
+                                    self.depth_value,
+                                    self.depth_option)
+                self._update()
 
     def generate_discharge(self):
-        dlg = DischargeDialog(self.discharge_value,
-                              self.discharge_option,
-                              trad=self._trad,
-                              parent=self)
-        if dlg.exec():
-            self.discharge_value = dlg.value
-            self.discharge_option = dlg.option
-            self._table.generate("discharge",
-                                 self.discharge_value,
-                                 self.discharge_option)
-            self._update()
+        if self._reach.reach.number_profiles > 1:
+            dlg = DischargeDialog(self.discharge_value,
+                                self.discharge_option,
+                                trad=self._trad,
+                                parent=self)
+            if dlg.exec():
+                self.discharge_value = dlg.value
+                self.discharge_option = dlg.option
+                self._table.generate("discharge",
+                                    self.discharge_value,
+                                    self.discharge_option)
+                self._update()
 
     def generate_height(self):
-        dlg = HeightDialog(self.height_values,
-                           self.height_option,
-                           trad=self._trad,
-                           parent=self)
-        if dlg.exec():
-            self.height_values = dlg.values
-            self.height_option = dlg.option
-            self._table.generate("height",
-                                 self.height_values,
-                                 self.height_option)
-            self._update()
+        if self._reach.reach.number_profiles > 0:
+            dlg = HeightDialog(self.height_values,
+                            self.height_option,
+                            trad=self._trad,
+                            parent=self)
+            if dlg.exec():
+                self.height_values = dlg.values
+                self.height_option = dlg.option
+                self._table.generate("height",
+                                    self.height_values,
+                                    self.height_option)
+                self._update()