diff --git a/src/MNH/tridiag_w.f90 b/src/MNH/tridiag_w.f90
index 87965f9d0bfea1d54a49bc5f030c576a9be0bd84..db89be613663dc729cbab640ac86a8ed9e5ddf37 100644
--- a/src/MNH/tridiag_w.f90
+++ b/src/MNH/tridiag_w.f90
@@ -293,14 +293,14 @@ END DO !CONCURRENT
 !$acc end kernels
 !
 !$acc kernels ! async
-DO CONCURRENT ( JI=1:JIU,JJ=1:JJU)
-  ZY(JI,JJ,IKB+1:IKE-1) = ZMZM_RHODJ(JI,JJ,IKB+1:IKE-1)*PVARM(JI,JJ,IKB+1:IKE-1)/PTSTEP               &
-       - PRHODJ(JI,JJ,IKB+1:IKE-1  ) * PF(JI,JJ,IKB+1:IKE-1  )/PMZF_DZZ(JI,JJ,IKB+1:IKE-1  )          &
-       + PRHODJ(JI,JJ,IKB:IKE-2) * PF(JI,JJ,IKB:IKE-2)/PMZF_DZZ(JI,JJ,IKB:IKE-2)              &
-       + ZRHODJ_DFDDWDZ_O_DZ2(JI,JJ,IKB+1:IKE-1  ) * PVARM(JI,JJ,IKB+2:IKE)  &
-       - ZRHODJ_DFDDWDZ_O_DZ2(JI,JJ,IKB+1:IKE-1  ) * PVARM(JI,JJ,IKB+1:IKE-1  )  &
-       - ZRHODJ_DFDDWDZ_O_DZ2(JI,JJ,IKB:IKE-2) * PVARM(JI,JJ,IKB+1:IKE-1  )  &
-       + ZRHODJ_DFDDWDZ_O_DZ2(JI,JJ,IKB:IKE-2) * PVARM(JI,JJ,IKB:IKE-2)
+DO CONCURRENT ( JI=1:JIU,JJ=1:JJU,JK=IKB+1:IKE-1)
+  ZY(JI,JJ,JK) = ZMZM_RHODJ(JI,JJ,JK)*PVARM(JI,JJ,JK)/PTSTEP               &
+       - PRHODJ(JI,JJ,JK  ) * PF(JI,JJ,JK  )/PMZF_DZZ(JI,JJ,JK  )          &
+       + PRHODJ(JI,JJ,JK-1) * PF(JI,JJ,JK-1)/PMZF_DZZ(JI,JJ,JK-1)              &
+       + ZRHODJ_DFDDWDZ_O_DZ2(JI,JJ,JK  ) * PVARM(JI,JJ,JK+1)  &
+       - ZRHODJ_DFDDWDZ_O_DZ2(JI,JJ,JK  ) * PVARM(JI,JJ,JK  )  &
+       - ZRHODJ_DFDDWDZ_O_DZ2(JI,JJ,JK-1) * PVARM(JI,JJ,JK  )  &
+       + ZRHODJ_DFDDWDZ_O_DZ2(JI,JJ,JK-1) * PVARM(JI,JJ,JK-1)
 END DO !CONCURRENT  
 !$acc end kernels
 !