diff --git a/src/OCE/SBC/cpl_oasis3.F90 b/src/OCE/SBC/cpl_oasis3.F90
index 3295238bb6979f42806a4dd195c1edc09dd1d2d2..56c3954b6718c8dfe527aee9a80ca05423c314e0 100644
--- a/src/OCE/SBC/cpl_oasis3.F90
+++ b/src/OCE/SBC/cpl_oasis3.F90
@@ -37,6 +37,9 @@ MODULE cpl_oasis3
    USE in_out_manager               ! I/O manager
    USE lbclnk                       ! ocean lateral boundary conditions (or mpp link)
    USE lib_mpp
+#if defined key_agrif
+   USE MPI
+#endif
 
    IMPLICIT NONE
    PRIVATE
diff --git a/src/OCE/SBC/cpl_rnf_1d.F90 b/src/OCE/SBC/cpl_rnf_1d.F90
index cbcd101cb9ee2395673a6c6a51b494fafd40421d..2c0279b806a74fb67a2cb745139088556e8d82f2 100644
--- a/src/OCE/SBC/cpl_rnf_1d.F90
+++ b/src/OCE/SBC/cpl_rnf_1d.F90
@@ -34,8 +34,13 @@ MODULE cpl_rnf_1d
       COMPLEX(wp), ALLOCATABLE, DIMENSION(:)  ::   river_area_c       ! Comlex version of river_area for use in bit reproducible sums (m2)
    END TYPE RIVERS_DATA
    
+   ! DB: see https://forge.ipsl.jussieu.fr/nemo/ticket/1865
+#if defined key_agrif
+   TYPE(RIVERS_DATA), PUBLIC         :: rivers  !: River data
+#else
    TYPE(RIVERS_DATA), PUBLIC, TARGET :: rivers  !: River data
-   
+#endif
+
    INTEGER, PUBLIC            :: nn_cpl_river   ! Maximum number of rivers being passed through the coupler
    INTEGER, PUBLIC            :: runoff_id      ! OASIS coupling id used in oasis_get command
    LOGICAL                    :: ln_print_river_info  ! Diagnostic prints of river coupling information
diff --git a/src/OCE/step.F90 b/src/OCE/step.F90
index 105b201092c7a852609dafab40acda4d02bed06c..0b07bf0637943718beb1bbe8bc12e3d454eb41a5 100644
--- a/src/OCE/step.F90
+++ b/src/OCE/step.F90
@@ -90,7 +90,7 @@ CONTAINS
 #if defined key_agrif
       IF( nstop > 0 ) RETURN   ! avoid to go further if an error was detected during previous time step (child grid)
       kstp = nit000 + Agrif_Nb_Step()
-      Kbb_a = Nbb; Nnn_a = Nnn; Krhs_a = Nrhs   ! agrif_oce module copies of time level indices
+      Kbb_a = Nbb; Kmm_a = Nnn; Krhs_a = Nrhs   ! agrif_oce module copies of time level indices
       IF( lk_agrif_debug ) THEN
          IF( Agrif_Root() .and. lwp)   WRITE(*,*) '---'
          IF(lwp)   WRITE(*,*) 'Grid Number', Agrif_Fixed(),' time step ', kstp, 'int tstep', Agrif_NbStepint()
@@ -398,7 +398,7 @@ CONTAINS
       !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
       ! AGRIF recursive integration
       !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                         Kbb_a = Nbb; Nnn_a = Nnn; Krhs_a = Nrhs      ! agrif_oce module copies of time level indices
+                         Kbb_a = Nbb; Kmm_a = Nnn; Krhs_a = Nrhs      ! agrif_oce module copies of time level indices
                          CALL Agrif_Integrate_ChildGrids( stp )       ! allows to finish all the Child Grids before updating
 
 #endif