diff --git a/MNH/ppm.f90 b/MNH/ppm.f90
index a2fd85ae748010e0eb46960d9f5c29917204028b..69de2daa039ab9836292fdeba88fcd15f0410804 100644
--- a/MNH/ppm.f90
+++ b/MNH/ppm.f90
@@ -1603,7 +1603,7 @@ ZPSRC_HALO2_WEST(:,:) = TZ_PSRC_HALO2_ll%HALO2%WEST(:,:)
 
 #define JUAN_ACC_S0_X
 #ifdef JUAN_ACC_S0_X
-!$acc data copyin (psrc,pcr,prho) copyout(pr) 
+!$acc data pcopyin (psrc,pcr,prho) pcopyout(pr) 
 !$acc kernels
 #endif
 !
@@ -1834,7 +1834,8 @@ USE MODE_MNH_ZWORK, ONLY : &
 & ZPHAT=>ZW3D1,ZFPOS=>ZW3D2,ZFNEG=>ZW3D3,ZRHO_MYM=>ZW3D4, &
 & ZCR_MYM=>ZW3D5,ZCR_DYF=>ZW3D6, &
 & ZPSRC_HALO2_SOUTH
-
+!
+USE MODD_IO_ll,   ONLY : GSMONOPROC
 !
 IMPLICIT NONE
 !
@@ -1906,15 +1907,17 @@ IF ( L2D ) THEN
    RETURN
 END IF
 !
+IF  ( .NOT. GSMONOPROC ) THEN
 CALL GET_HALO2(PSRC,TZ_PSRC_HALO2_ll)
 ZPSRC_HALO2_SOUTH(:,:) = TZ_PSRC_HALO2_ll%HALO2%SOUTH(:,:)
 !$acc update device (ZPSRC_HALO2_SOUTH)
+END IF
 !
 ! Initialize with relalistic value all work array 
 !
 #define JUAN_ACC_S0_Y
 #ifdef JUAN_ACC_S0_Y
-!$acc data copyin (psrc,pcr,prho) copyout(pr) 
+!$acc data pcopyin (psrc,pcr,prho) pcopyout(pr) 
 !$acc kernels
 #endif
 !
@@ -2176,7 +2179,7 @@ CALL GET_HALO(PSRC)
 !
 #define JUAN_ACC_S0_Z
 #ifdef JUAN_ACC_S0_Z
-!$acc data copyin (psrc,pcr,prho)  copyout(pr) 
+!$acc data pcopyin (psrc,pcr,prho) pcopyout(pr) 
 !$acc kernels
 #endif
 !