diff --git a/src/ZSOLVER/dotprod.f90 b/src/ZSOLVER/dotprod.f90
index e473801b82143326b3323affb757e60545074909..2c4791cc6bd2f296986b8a0772aeaa63c74c5f30 100644
--- a/src/ZSOLVER/dotprod.f90
+++ b/src/ZSOLVER/dotprod.f90
@@ -185,15 +185,17 @@ CALL MNH_MEM_GET(ZDOTPROD, ILBXB,ILBXE ,ILBYB,ILBYE )
 #endif
 !$acc kernels present(ZDOTPROD)
 ZDOTPROD(:,:)    = 0.
-#ifdef MNH_COMPILER_NVHPC   
-   !$acc loop independent collapse(2) 
-#endif
-   DO CONCURRENT (JI=ILBXB:ILBXE,JJ=ILBYB:ILBYE)
-      !$acc loop seq
-      DO JK = IKB-1,IKE+1
+!$acc loop seq
+!dir nextscalar
+DO JK = IKB-1,IKE+1
+   !DO CONCURRENT (JI=ILBXB:ILBXE,JJ=ILBYB:ILBYE)
+   !$acc loop collapse(2) independent
+   DO JJ = ILBYB,ILBYE
+      DO JI = ILBXB,ILBXE  
          ZDOTPROD(JI,JJ) = ZDOTPROD(JI,JJ) + PA(JI,JJ,JK) * PB(JI,JJ,JK)
       END DO
    END DO
+END DO
 !$acc end kernels
 !$acc update host(ZDOTPROD)
 PDOTPROD = SUM_DD_R2_ll(ZDOTPROD)