diff --git a/src/ZSOLVER/zsolver_inv.f90 b/src/ZSOLVER/zsolver_inv.f90
index 21b1b5d54c3ee624f9e6e37c265fa6022a9fa0f8..e6cfc214eef4a48d8064037fd25c42d35fee1078 100644
--- a/src/ZSOLVER/zsolver_inv.f90
+++ b/src/ZSOLVER/zsolver_inv.f90
@@ -337,7 +337,7 @@ INTEGER :: ZDXM2, ZDYM2
      ZDXM2 = PDXHATM*PDXHATM
      !
      IF (LWEST_ll(HSPLITTING='B')) THEN
-        !$acc kernels async
+        !$acc kernels loop independent collapse(2) async
         DO JK=IKB,IKE
            DO JJ = IJB,IJE
               PF_1_Y(IIB-1,JJ,JK) = PF_1_Y(IIB,JJ,JK) - PY(IIB-1,JJ,JK)*ZDXM2/PRHOM(JK)
@@ -347,7 +347,7 @@ INTEGER :: ZDXM2, ZDYM2
      END IF
      !
      IF (LEAST_ll(HSPLITTING='B')) THEN
-        !$acc kernels async
+        !$acc kernels loop independent collapse(2) async
         DO JK=IKB,IKE
            DO JJ = IJB,IJE
               PF_1_Y(IIE+1,JJ,JK) = PF_1_Y(IIE,JJ,JK) + PY(IIE+1,JJ,JK)*ZDXM2/PRHOM(JK)
@@ -360,7 +360,7 @@ INTEGER :: ZDXM2, ZDYM2
      !    we set the solution at the corner point by the condition:
      !    dxm ( P ) = 0
      IF (LWEST_ll(HSPLITTING='B')) THEN
-        !$acc kernels async
+        !$acc kernels loop independent async
         DO JJ = IJB,IJE
            PF_1_Y(IIB-1,JJ,IKB-1) = PF_1_Y(IIB,JJ,IKB-1) 
            PF_1_Y(IIB-1,JJ,IKE+1) = PF_1_Y(IIB,JJ,IKE+1)
@@ -368,7 +368,7 @@ INTEGER :: ZDXM2, ZDYM2
         !$acc end kernels
      END IF
      IF (LEAST_ll(HSPLITTING='B')) THEN
-        !$acc kernels async
+        !$acc kernels loop independent async
         DO JJ = IJB,IJE
            PF_1_Y(IIE+1,JJ,IKB-1) = PF_1_Y(IIE,JJ,IKB-1)
            PF_1_Y(IIE+1,JJ,IKE+1) = PF_1_Y(IIE,JJ,IKE+1)
@@ -394,7 +394,7 @@ INTEGER :: ZDXM2, ZDYM2
         ZDYM2 = PDYHATM*PDYHATM 
         !
         IF (LSOUTH_ll(HSPLITTING='B')) THEN
-           !$acc kernels async
+           !$acc kernels loop independent collapse(2) async
            DO JK=IKB,IKE
               DO JI = IIB,IIE
                  PF_1_Y(JI,IJB-1,JK) = PF_1_Y(JI,IJB,JK) - PY(JI,IJB-1,JK)*ZDYM2/PRHOM(JK)
@@ -404,7 +404,7 @@ INTEGER :: ZDXM2, ZDYM2
         END IF
         !
         IF (LNORTH_ll(HSPLITTING='B')) THEN
-           !$acc kernels async
+           !$acc kernels loop independent collapse(2) async
            DO JK=IKB,IKE
               DO JI = IIB,IIE
                  PF_1_Y(JI,IJE+1,JK) = PF_1_Y(JI,IJE,JK) + PY(JI,IJE+1,JK)*ZDYM2/PRHOM(JK)
@@ -417,7 +417,7 @@ INTEGER :: ZDXM2, ZDYM2
         !    dym ( P )  = 0
         !
         IF (LSOUTH_ll(HSPLITTING='B')) THEN
-           !$acc kernels async
+           !$acc kernels loop independent async
            DO JI = IIB,IIE
               PF_1_Y(JI,IJB-1,IKB-1) = PF_1_Y(JI,IJB,IKB-1)
               PF_1_Y(JI,IJB-1,IKE+1) = PF_1_Y(JI,IJB,IKE+1)
@@ -426,7 +426,7 @@ INTEGER :: ZDXM2, ZDYM2
         END IF
         !
         IF (LNORTH_ll(HSPLITTING='B')) THEN
-           !$acc kernels async
+           !$acc kernels loop independent async
            DO JI = IIB,IIE
               PF_1_Y(JI,IJE+1,IKB-1) = PF_1_Y(JI,IJE,IKB-1)
               PF_1_Y(JI,IJE+1,IKE+1) = PF_1_Y(JI,IJE,IKE+1)