diff --git a/src/LIB/tensorproductmultigrid_Source/multigrid.f90 b/src/LIB/tensorproductmultigrid_Source/multigrid.f90
index ff1a75b0ffdbedacf31c74163ee9874ed3630335..c00d329c18d923534a75a4498f4fcf60bda2503f 100644
--- a/src/LIB/tensorproductmultigrid_Source/multigrid.f90
+++ b/src/LIB/tensorproductmultigrid_Source/multigrid.f90
@@ -451,13 +451,13 @@ contains
           call print_elapsed(t_coarsesolve(level,m),.True.,1.0_rl)
           call print_elapsed(t_total(level,m),.True.,1.0_rl)
        endif
-      if (LUseO) then
+      if (LUseO .AND. .FALSE. ) then
       deallocate(xu_mg(level,m)%s)
       deallocate(xb_mg(level,m)%s)
       deallocate(xr_mg(level,m)%s)
       endif
 
-      if (LUseT) then
+      if (LUseT .AND. .FALSE. ) then
          !$acc exit data delete(xu_mg(level,m)%st)  
          deallocate(xu_mg(level,m)%st)
          !
@@ -478,16 +478,19 @@ contains
       reduced_m = .false.
       level = level-1
     end do
-    deallocate(xu_mg)
-    deallocate(xb_mg)
-    deallocate(xr_mg)
-    deallocate(t_total)
-    deallocate(t_smooth)
-    deallocate(t_restrict)
-    deallocate(t_prolongate)
-    deallocate(t_residual)
-    deallocate(t_addcorr)
-    deallocate(t_coarsesolve)
+
+    IF (.FALSE.) then 
+       deallocate(xu_mg)
+       deallocate(xb_mg)
+       deallocate(xr_mg)
+       deallocate(t_total)
+       deallocate(t_smooth)
+       deallocate(t_restrict)
+       deallocate(t_prolongate)
+       deallocate(t_residual)
+       deallocate(t_addcorr)
+       deallocate(t_coarsesolve)
+    END IF
     !if ( (i_am_master_mpi) ) write(STDOUT,'("")')
     if ( (i_am_master_mpi) .and. (mg_param%verbose >= 10) ) write(STDOUT,'("")')    
   end subroutine mg_finalise