diff --git a/src/ZSOLVER/tensorproductmultigrid_Source/communication.f90 b/src/ZSOLVER/tensorproductmultigrid_Source/communication.f90
index 3d33cf8b80fac89c56298a4a805e7074df25ac36..4273ddadf026988dfcb71676ddad44a92e4cec2b 100644
--- a/src/ZSOLVER/tensorproductmultigrid_Source/communication.f90
+++ b/src/ZSOLVER/tensorproductmultigrid_Source/communication.f90
@@ -547,6 +547,7 @@ contains
         end if
         if (LUseT) then
            local_sumt = 0.0_rl
+           !$acc kernels loop collapse(3)
            do iz=0,nz+1
               do iy=a%icompy_min,a%icompy_max
                  do ix=a%icompx_min,a%icompx_max
@@ -1578,7 +1579,7 @@ contains
         ! Copy local data while waiting for data from other processes
         if (LUseO) b%s(0:nz+1,1:a_n,1:a_n) = a%s(0:nz+1,1:a_n,1:a_n)
         if (LUseT) then
-#ifdef MNH_GPUDIREC           
+#ifdef MNH_GPUDIRECT           
            zb_st => b%st
            za_st => a%st
            !$acc parallel loop collapse(3)
@@ -1882,7 +1883,7 @@ contains
         ! While sending, copy local data
         if (LUseO) b%s(0:nz+1,1:b_n,1:b_n) = a%s(0:nz+1,1:b_n,1:b_n)
         if (LUseT) then
-#ifdef MNH_GPUDIREC                     
+#ifdef MNH_GPUDIRECT                     
            zb_st => b%st
            za_st => a%st
            !$acc parallel loop collapse(3)
@@ -1911,7 +1912,7 @@ contains
         if (LUseO) call mpi_recv(b%s(0,1,1),1,interior(level,m),source_rank,recv_tag,MPI_COMM_HORIZ,stat,ierr)
         recv_tag = 1010
         if (LUseT) then
-#ifdef MNH_GPUDIREC
+#ifdef MNH_GPUDIRECT
            ztab_interiorT_ne_m_haloTout => tab_interiorT_ne(level,m)%haloTout
            !$acc host_data use_device(ztab_interiorT_ne_m_haloTout)
            call mpi_recv(ztab_interiorT_ne_m_haloTout,size(ztab_interiorT_ne_m_haloTout), &
@@ -1977,7 +1978,7 @@ contains
         if (LUseT) then
 #ifdef MNH_GPUDIRECT
            ztab_interiorT_se_m_haloTout => tab_interiorT_se(level,m)%haloTout
-           !$acc host_data use_device(ztab_interiorT_ne_m_haloTout)
+           !$acc host_data use_device(ztab_interiorT_se_m_haloTout)
            call mpi_recv(ztab_interiorT_se_m_haloTout,size(ztab_interiorT_se_m_haloTout), &
                 MPI_DOUBLE_PRECISION,source_rank,recv_tag,MPI_COMM_HORIZ,stat,ierr)
            !$acc end host_data