diff --git a/src/MNH/contrav.f90 b/src/MNH/contrav.f90
index 8d41cbf3df19b428e0ac148ea19ca8f4511d5c0d..c85864a291ca3212735f0c9ce10f175697e50744 100644
--- a/src/MNH/contrav.f90
+++ b/src/MNH/contrav.f90
@@ -669,8 +669,8 @@ CONTAINS
 !  Begin Compute
 !
 
-!$acc data present( PRUT, PRVT, PRWT, PDXX, PDYY, PDZZ, PDZX, PDZY, PRUCT, PRVCT, PRWCT, Z1, Z2 ) &
-!$acc&     present( ZU_EAST, ZV_NORTH, ZDZX_EAST, ZDZY_NORTH )
+!$acc data present( PRUT, PRVT, PRWT, PDXX, PDYY, PDZZ, PDZX, PDZY, PRUCT, PRVCT, PRWCT, Z1, Z2 )
+!$acc data present( ZU_EAST, ZV_NORTH, ZDZX_EAST, ZDZY_NORTH ) if( KADV_ORDER == 4 .AND. .NOT.LFLAT )
 
 IF (GDATA_ON_DEVICE) THEN
 !PW TODO:remplacer (ailleurs aussi...) 1/PDXX... par PINV_PDXX (fait pour la turbulence...) cfr MNH/turb_hor_splt.f90
@@ -948,6 +948,7 @@ END IF
 
 END IF FLAT
 
+!$acc end data
 !$acc end data
 
 !