diff --git a/Overlap/overlap.f90 b/Overlap/overlap.f90
index dcbde96a1ba72c3045c1ed9a6015d1a5f8002968..67cd21031ebe6ae1247910853e25c20a8311cd58 100644
--- a/Overlap/overlap.f90
+++ b/Overlap/overlap.f90
@@ -38,7 +38,7 @@ contains
     integer i1 ! eddy index of predecessor
     integer i2 ! eddy index of successor
     integer l, n_select
-    type(polyline) polyline_1, polyline_2
+    type(polyline) p_shifted
     logical assoc_eddies ! association between eddies
     real delta_long ! difference in longitude, in rad
 
@@ -79,21 +79,27 @@ contains
               ! delta}
               delta_long = e1%extr%coord(1) - e2%extr%coord(1)
 
-              if (e1%speed_cont%n_points /= 0) then
-                 polyline_1 = e1%speed_cont%polyline
+              if (e1%speed_cont%n_points == 0 &
+                   .and. e2%speed_cont%n_points /= 0) then
+                 p_shifted = copy_shift(e2%speed_cont%polyline, delta_long)
+                 assoc_eddies = inters_lines(e1%out_cont%polyline, p_shifted, &
+                      min_inters_speed)
+              elseif (e1%speed_cont%n_points /= 0 &
+                   .and. e2%speed_cont%n_points == 0) then
+                 p_shifted = copy_shift(e2%out_cont%polyline, delta_long)
+                 assoc_eddies = inters_lines(e1%speed_cont%polyline, &
+                      p_shifted, min_inters_speed)
+              elseif (e1%speed_cont%n_points == 0 &
+                   .and. e2%speed_cont%n_points == 0) then
+                 p_shifted = copy_shift(e2%out_cont%polyline, delta_long)
+                 assoc_eddies = inters_lines(e1%out_cont%polyline, p_shifted, &
+                      min_inters_speed)
               else
-                 polyline_1 = e1%out_cont%polyline
+                 p_shifted = copy_shift(e2%speed_cont%polyline, delta_long)
+                 assoc_eddies = inters_lines(e1%speed_cont%polyline, &
+                      p_shifted, min_inters_speed)
               end if
 
-              if (e2%speed_cont%n_points /= 0) then
-                 polyline_2 = copy_shift(e2%speed_cont%polyline, delta_long)
-              else
-                 polyline_2 = copy_shift(e2%out_cont%polyline, delta_long)
-              end if
-
-              assoc_eddies = inters_lines(polyline_1, polyline_2, &
-                   min_inters_speed)
-
               if (assoc_eddies) then
                  write(unit_edge, fmt = *) (k - delta) * e_overestim + i1, &
                       k * e_overestim + i2