diff --git a/Inst_eddies/Tests/test_mean_speed.f90 b/Inst_eddies/Tests/test_mean_speed.f90
index 274aaa57b38cc378f2eabc1ffa2edb24546598cc..c16869ee9bfe267ba0b5dc57f7274f1bf20fa2db 100644
--- a/Inst_eddies/Tests/test_mean_speed.f90
+++ b/Inst_eddies/Tests/test_mean_speed.f90
@@ -72,7 +72,7 @@ program test_mean_speed
   end if
 
   print *, "mean azimuthal speed = ", mean_speed(u, v, p%part(1), &
-       convert_to_ind(p%part(1)%points, corner, step), center, corner, step), &
-       "m s-1"
+       convert_to_ind(p%part(1)%points, corner, step), center, &
+       corner_proj = [1., 1.]), "m s-1"
 
 end program test_mean_speed
diff --git a/Inst_eddies/mean_speed.f90 b/Inst_eddies/mean_speed.f90
index c8ed7b3dbae549605a5b4def3ec9487be0e1743e..fc7952e87bc89382c5de064d4fe455ec8f90c9f1 100644
--- a/Inst_eddies/mean_speed.f90
+++ b/Inst_eddies/mean_speed.f90
@@ -4,7 +4,7 @@ module mean_speed_m
 
 contains
 
-  real function mean_speed(u, v, p, points_xy, center, corner, step)
+  real function mean_speed(u, v, p, points_xy, center, corner_proj)
 
     ! Interpolates the wind at each point of the input polyline and
     ! computes the mean azimuthal speed at interpolation points. We
@@ -20,8 +20,6 @@ contains
     use numer_rec_95, only: bilinear_interp2_reg
     use jumble, only: rad_to_deg
 
-    use input_ssh_m, only: corner_whole => corner
-
     real, intent(in):: u(:, :), v(:, :) ! velocity
 
     type(polyline), intent(in):: p
@@ -35,10 +33,9 @@ contains
     ! Longitude and latitude, in rad. Azimuthal speed is computed with
     ! respect to this point.
 
-    real, intent(in):: corner(:) ! (2)
-    ! longitude and latitude corresponding to u(1,1) and v(1, 1), in rad
-
-    real, intent(in):: step(:) ! (2) ! longitude and latitude steps, in rad
+    real, intent(in):: corner_proj(:) ! (2)
+    ! coordinates in projection space of the point corresponding to
+    ! u(1,1) and v(1, 1)
 
     ! Local:
 
@@ -56,16 +53,15 @@ contains
        write(error_unit, fmt = *) &
             "mean_speed: requires non-null, closed contour"
        write(error_unit, fmt = *) "center (in °) = ", center * rad_to_deg
-       write(error_unit, fmt = *) "corner (in °) = ", corner * rad_to_deg
-       write(error_unit, fmt = *) "step (in °) = ", step * rad_to_deg
+       write(error_unit, fmt = *) "corner_proj = ", corner_proj
        write(error_unit, fmt = *) "p%n_points = ", p%n_points
        write(error_unit, fmt = *) "Aborting."
        stop 1
     end if
 
     ni = p%n_points - 1
-    call bilinear_interp2_reg((corner - corner_whole) / step + 1., [1., 1.], &
-         u, v, points_xy(:, :ni), ui, vi)
+    call bilinear_interp2_reg(corner_proj, [1., 1.], u, v, points_xy(:, :ni), &
+         ui, vi)
 
     do j = 1, ni
        x = cos(center(2)) * (p%points(1, j) - center(1))
diff --git a/Inst_eddies/set_max_speed.f90 b/Inst_eddies/set_max_speed.f90
index 63dfa573db560bf279b9b52e0b904ad1dd2543a9..2d2fde775c187295a9c42805c0c20762d032031e 100644
--- a/Inst_eddies/set_max_speed.f90
+++ b/Inst_eddies/set_max_speed.f90
@@ -110,7 +110,7 @@ contains
     do i = 1, n_cont
        if (cont_list(i)%closed) then
           speed(i) = mean_speed(u, v, cont_list(i), cont_list_proj(i)%points, &
-               extr_coord, corner, step)
+               extr_coord, corner_proj)
        else
           ! It is possible that good_contour returned a null polyline
           ! if there is a missing value of SSH inside the outermost