diff --git a/Interface.py b/Interface.py
index 66a9767b63a1c660f04524fd759b1b8d56d68788..71c0e66d1ec9527dd88e0210166871fdc1fda0ac 100644
--- a/Interface.py
+++ b/Interface.py
@@ -355,15 +355,16 @@ class HydroSuper :
             if part.size == 1 :
                 maxdiff_sorted = 0.0
             else :
-                maxdiff_sorted = np.max(np.abs(sorted_outareas[0:largest_pos]-old_sorted))
-            old_sorted[:] = sorted_outareas[0:largest_pos]
+                l = min(sorted_outareas.shape[0],largest_pos)
+                maxdiff_sorted = np.max(np.abs(sorted_outareas[0:largest_pos]-old_sorted[0:l]))
+            old_sorted[:l] = sorted_outareas[0:largest_pos]
             iter_count += 1
 
         self.fetch_basin = np.copy(fetch_basin)
         #
         # Upstream area of the smalest river we call largest rivers. 
         #
-        self.largest_rivarea = sorted_outareas[largest_pos-1]
+        self.largest_rivarea = sorted_outareas[l-1]
         #
         #
         #