diff --git a/src/ZSOLVER/modeln.f90 b/src/ZSOLVER/modeln.f90
index e82b9908c68ebf6f3af5f6e017aca89992c0719f..7b54c18bc608b9e83660a2def9ed05cab01c29f5 100644
--- a/src/ZSOLVER/modeln.f90
+++ b/src/ZSOLVER/modeln.f90
@@ -545,7 +545,7 @@ LOGICAL :: KACTIT
 LOGICAL :: KSEDI
 LOGICAL :: KHHONI
 !
-REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZRUS,ZRVS
+REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZRUS,ZRVS
 REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZRWS
 REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZPABST !To give pressure at t
                                                      ! (and not t+1) to resolved_cloud
@@ -569,19 +569,20 @@ REAL :: VSIGQSAT
 VSIGQSAT = VSIGQSAT_MODD
 #endif
 !-------------------------------------------------------------------------------
-!
+
 TZBAKFILE=> NULL()
 TZOUTFILE=> NULL()
 
+#ifndef MNH_OPENACC
 allocate( ZRUS  (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) )
 allocate( ZRVS  (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) )
-#ifndef MNH_OPENACC
 allocate( ZRWS  (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) )
 allocate( ZPABST(SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) )
 #else
 !Pin positions in the pools of MNH memory
 CALL MNH_MEM_POSITION_PIN()
-
+CALL MNH_MEM_GET( ZRUS,   SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) )
+CALL MNH_MEM_GET( ZRVS,   SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) )
 CALL MNH_MEM_GET( ZRWS,   SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) )
 CALL MNH_MEM_GET( ZPABST, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) )
 #endif
@@ -2431,7 +2432,7 @@ END IF
 
 #ifndef MNH_OPENACC
 IF ( ASSOCIATED( ZSEA ) ) DEALLOCATE( ZSEA )
-DEALLOCATE( ZRWS )
+DEALLOCATE( ZRUS,ZRVS,ZRWS )
 DEALLOCATE( ZPABST )
 #else
 CALL MNH_MEM_RELEASE()