diff --git a/Overlap/config_graph.F90 b/Overlap/config_graph.F90
index 9e772fa825c79a326f37c034edb2a3fe3fe2b4eb..89e6d631de2ddec182b922fd9fc6252676a88a30 100644
--- a/Overlap/config_graph.F90
+++ b/Overlap/config_graph.F90
@@ -18,6 +18,10 @@ module config_graph_m
   ! minimum intersection between maximum-speed contours, computed as a
   ! fraction of surface
 
+  real, protected:: min_inters_out = 1.1
+  ! minimum intersection between outermost contours, computed as a
+  ! fraction of surface
+
 contains
 
   subroutine config_graph(rank)
@@ -33,7 +37,8 @@ contains
     integer, intent(in):: rank
 
     ! Local:
-    namelist /config_graph_nml/ max_delta, dist_lim, cyclone, min_inters_speed
+    namelist /config_graph_nml/ max_delta, dist_lim, cyclone, &
+         min_inters_speed, min_inters_out
 
     !-----------------------------------------------------------------
 
@@ -54,6 +59,7 @@ contains
     call ezmpi_bcast(dist_lim, root = 0)
     call ezmpi_bcast(cyclone, root = 0)
     call ezmpi_bcast(min_inters_speed, root = 0)
+    call ezmpi_bcast(min_inters_out, root = 0)
     call ezmpi_bcast(copy, root = 0)
 #endif
 
diff --git a/Overlap/overlap.f90 b/Overlap/overlap.f90
index 67cd21031ebe6ae1247910853e25c20a8311cd58..423d9b04f1be0064d8a801acd2b3690657ed94de 100644
--- a/Overlap/overlap.f90
+++ b/Overlap/overlap.f90
@@ -16,7 +16,7 @@ contains
 
     use copy_shift_m, only: copy_shift
     use candidate_overlap_m, only: candidate_overlap
-    use config_graph_m, only: dist_lim, min_inters_speed
+    use config_graph_m, only: dist_lim, min_inters_speed, min_inters_out
     use derived_types, only: snapshot
     use inters_lines_m, only: inters_lines
     use read_grid_m, only: nlon, nlat, periodic
@@ -84,20 +84,34 @@ contains
                  p_shifted = copy_shift(e2%speed_cont%polyline, delta_long)
                  assoc_eddies = inters_lines(e1%out_cont%polyline, p_shifted, &
                       min_inters_speed)
+                 if (.not. assoc_eddies) then
+                    p_shifted = copy_shift(e2%out%polyline, delta_long)
+                    assoc_eddies = inters_lines(e1%out_cont%polyline, &
+                         p_shifted, min_inters_out)
+                 end if
               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)
+                 if (.not. assoc_eddies) assoc_eddies &
+                      = inters_lines(e1%out_cont%polyline, p_shifted, &
+                      min_inters_out)
               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)
+                      min(min_inters_speed, min_inters_out))
               else
                  p_shifted = copy_shift(e2%speed_cont%polyline, delta_long)
                  assoc_eddies = inters_lines(e1%speed_cont%polyline, &
                       p_shifted, min_inters_speed)
+
+                 if (.not. assoc_eddies) then
+                    p_shifted = copy_shift(e2%out_cont%polyline, delta_long)
+                    assoc_eddies = inters_lines(e1%out_cont%polyline, &
+                         p_shifted, min_inters_out)
+                 end if
               end if
 
               if (assoc_eddies) then