diff --git a/src/Model/Network/Graph.py b/src/Model/Network/Graph.py
index 0f432495d4635640db1b6fc534ae00ef121fcb79..e2d549fbf6a8a922ff5b8a360ecbe3f5330c21ba 100644
--- a/src/Model/Network/Graph.py
+++ b/src/Model/Network/Graph.py
@@ -29,6 +29,14 @@ class Graph(object):
     def edges(self):
         return self._edges
 
+    def enable_edges(self):
+        return list(
+            filter(
+                lambda e: e.is_enable(),
+                self._edges
+            )
+        )
+
     def edges_names(self):
         return list(map(lambda e: e.name, self._edges))
 
@@ -38,6 +46,13 @@ class Graph(object):
     def edges_counts(self):
         return len(self._edges)
 
+    def enable_edges_counts(self):
+        return reduce(
+            lambda acc, e: acc + 1 if e.is_enable() else acc,
+            self._edges,
+            0
+        )
+
     def is_node_exists(self, node_name):
         return reduce(
             lambda acc, n: (acc or (n.name == node_name)),
diff --git a/src/Model/River.py b/src/Model/River.py
index 9f5505ade0f43199e4b82ec0244969760846207d..cbc86f196ca7696af4d50d9ea0fc36700e2d5357 100644
--- a/src/Model/River.py
+++ b/src/Model/River.py
@@ -336,9 +336,16 @@ class River(Graph, SQLSubModel):
         return self._parameters[solver]
 
     def has_current_reach(self):
+        if self.enable_edges_counts() == 1:
+            return True
+
         return self._current_reach is not None
 
     def current_reach(self):
+        ee = self.enable_edges()
+        if len(ee) == 1:
+            return ee[0]
+
         return self._current_reach
 
     def set_current_reach(self, reach):