diff --git a/src/ZSOLVER/tensorproductmultigrid_Source/multigrid.f90 b/src/ZSOLVER/tensorproductmultigrid_Source/multigrid.f90
index 0d7eedec5fbb922c57b19dd5b17737219ba65586..832f000c6de06476b74f36b0ed417f9fb1407237 100644
--- a/src/ZSOLVER/tensorproductmultigrid_Source/multigrid.f90
+++ b/src/ZSOLVER/tensorproductmultigrid_Source/multigrid.f90
@@ -1183,7 +1183,7 @@ contains
     integer                                                 :: nlocalx, nlocaly
     integer                                                 :: halo_size
 
-    real , dimension(:,:,:) , pointer ::  zu_level_1_m_st
+    real , dimension(:,:,:) , pointer ::  zu_level_1_m_st,zu_level_1_m_1_st
 
     integer :: iswitch_cpu_gpu = 5
 
@@ -1224,7 +1224,12 @@ contains
         call finish_timer(t_total(level,m))
         ! Set initial solution on coarser level to zero (incl. halos!)
         if (LUseO) u(level-1,m-1)%s(:,:,:) = 0.0_rl
-        if (LUseT) u(level-1,m-1)%st(:,:,:) = 0.0_rl
+        if (LUseT) then
+           zu_level_1_m_1_st => u(level-1,m-1)%st(:,:,:)
+           !$acc kernels
+           zu_level_1_m_1_st(:,:,:) = 0.0_rl
+           !$acc end kernels
+        end if
         ! solve on coarser grid
         call mg_vcycle_mnh(b,u,r,finelevel,splitlevel,level-1,m-1)
         ! Distribute data on coarser grid