diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index 3103dd95135169a32c2cd4cf34401ca1020cdd11..3cf3c9525806ce866d1510a45a83de703a3ee133 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -851,6 +851,7 @@ ALLOCATE(XTHT(IIU,IJU,IKU))     ; XTHT = 0.0
 ALLOCATE(XRUS(IIU,IJU,IKU))     ; XRUS = 0.0
 ALLOCATE(XRVS(IIU,IJU,IKU))     ; XRVS = 0.0
 ALLOCATE(XRWS(IIU,IJU,IKU))     ; XRWS = 0.0
+!$acc enter data copyin(XRUS,XRVS,XRWS)
 ALLOCATE(XRUS_PRES(IIU,IJU,IKU)); XRUS_PRES = 0.0
 ALLOCATE(XRVS_PRES(IIU,IJU,IKU)); XRVS_PRES = 0.0
 ALLOCATE(XRWS_PRES(IIU,IJU,IKU)); XRWS_PRES = 0.0
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 8497080b6ffccf6356b096fdd6c2e5558e57f085..5c14265f0c3324c64bf283ff5032eb8b7e010f7d 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -1740,6 +1740,7 @@ END IF
 !
 ZTIME1 = ZTIME2
 !
+!$acc update self( XRUS, XRVS, XRWS )
 ZRUS=XRUS
 ZRVS=XRVS
 ZRWS=XRWS
@@ -1750,7 +1751,6 @@ if ( .not. l1d ) then
   if ( lbudget_w ) call Budget_store_init( tbudgets(NBUDGET_W), 'PRES', xrws(:, :, :) )
 end if
 
-!$acc update self( XRUS, XRVS, XRWS )
 CALL RAD_BOUND (CLBCX,CLBCY,CTURB,XCARPKMAX,             &
                 XTSTEP,                                  &
                 XDXHAT, XDYHAT, XZHAT,                   &
diff --git a/src/ZSOLVER/modeln.f90 b/src/ZSOLVER/modeln.f90
index d4fe8d0f83c8427a3fba6734f6560447784235ef..d32a970f6ed8a1e78f3ddcf48eb1bf2dc0ca21fc 100644
--- a/src/ZSOLVER/modeln.f90
+++ b/src/ZSOLVER/modeln.f90
@@ -1740,6 +1740,7 @@ END IF
 !
 ZTIME1 = ZTIME2
 !
+!$acc update self( XRUS, XRVS, XRWS )
 ZRUS=XRUS
 ZRVS=XRVS
 ZRWS=XRWS
@@ -1750,7 +1751,6 @@ if ( .not. l1d ) then
   if ( lbudget_w ) call Budget_store_init( tbudgets(NBUDGET_W), 'PRES', xrws(:, :, :) )
 end if
 
-!$acc update self( XRUS, XRVS, XRWS )
 CALL RAD_BOUND (CLBCX,CLBCY,CTURB,XCARPKMAX,             &
                 XTSTEP,                                  &
                 XDXHAT, XDYHAT, XZHAT,                   &