diff --git a/src/advance_field.F90 b/src/advance_field.F90
index 77c8b76043c38fadc0f1913f2a1239cd20022906..9b7f7938abebb8a3b4a608793f50ed9749385e1b 100644
--- a/src/advance_field.F90
+++ b/src/advance_field.F90
@@ -24,35 +24,16 @@ CONTAINS
     use array,  ONLY: moments_rhs_e, moments_rhs_i
     IMPLICIT NONE
 
-    INTEGER :: istage
-    ! Execution time start
-    CALL cpu_time(t0_adv_field)
-    SELECT CASE (updatetlevel)
-    CASE(1)
-      DO istage=1,ntimelevel
-        moments_e(ips_e:ipe_e,ijs_e:ije_e,:,:,:,1) = moments_e(ips_e:ipe_e,ijs_e:ije_e,:,:,:,1) &
-                    + dt*b_E(istage)*moments_rhs_e(ips_e:ipe_e,ijs_e:ije_e,:,:,:,istage)
-      END DO
-      ! Advance ions
-      DO istage=1,ntimelevel
-        moments_i(ips_i:ipe_i,ijs_i:ije_i,:,:,:,1) = moments_i(ips_i:ipe_i,ijs_i:ije_i,:,:,:,1) &
-                    + dt*b_E(istage)*moments_rhs_i(ips_i:ipe_i,ijs_i:ije_i,:,:,:,istage)
-      END DO
-
-    CASE DEFAULT
-      ! Advance electrons
-      moments_e(ips_e:ipe_e,ijs_e:ije_e,:,:,:,updatetlevel) = moments_e(ips_e:ipe_e,ijs_e:ije_e,:,:,:,1);
-      DO istage=1,updatetlevel-1
-        moments_e(ips_e:ipe_e,ijs_e:ije_e,:,:,:,updatetlevel) = moments_e(ips_e:ipe_e,ijs_e:ije_e,:,:,:,updatetlevel) &
-              + dt*A_E(updatetlevel,istage)*moments_rhs_e(ips_e:ipe_e,ijs_e:ije_e,:,:,:,istage)
-      END DO
-      ! Advance ions
-      moments_i(ips_i:ipe_i,ijs_i:ije_i,:,:,:,updatetlevel) = moments_i(ips_i:ipe_i,ijs_i:ije_i,:,:,:,1);
-      DO istage=1,updatetlevel-1
-        moments_i(ips_i:ipe_i,ijs_i:ije_i,:,:,:,updatetlevel) = moments_i(ips_i:ipe_i,ijs_i:ije_i,:,:,:,updatetlevel) &
-              + dt*A_E(updatetlevel,istage)*moments_rhs_i(ips_i:ipe_i,ijs_i:ije_i,:,:,:,istage)
-      END DO
-    END SELECT
+    DO ip=ips_i,ipe_i
+      DO ij=ijs_i,ije_i
+        CALL advance_field(moments_i(ip,ij,:,:,:,:), moments_rhs_i(ip,ij,:,:,:,:))
+      ENDDO
+    ENDDO
+    DO ip=ips_e,ipe_e
+      DO ij=ijs_e,ije_e
+        CALL advance_field(moments_e(ip,ij,:,:,:,:), moments_rhs_e(ip,ij,:,:,:,:))
+      ENDDO
+    ENDDO
     ! Execution time end
     CALL cpu_time(t1_adv_field)
     tc_adv_field = tc_adv_field + (t1_adv_field - t0_adv_field)
@@ -66,6 +47,7 @@ CONTAINS
     USE array
     USE grid
     use prec_const
+    use initial_par, ONLY: WIPE_ZF
     IMPLICIT NONE
 
     COMPLEX(dp), DIMENSION ( ikxs:ikxe, ikys:ikye, izs:ize, ntimelevel ) :: f
@@ -75,25 +57,25 @@ CONTAINS
     SELECT CASE (updatetlevel)
     CASE(1)
       DO iky=ikys,ikye
-        DO ikx=ikxs,ikxe
-          DO iz=izs,ize
-            DO istage=1,ntimelevel
-              f(ikx,iky,iz,1) = f(ikx,iky,iz,1) + dt*b_E(istage)*f_rhs(ikx,iky,iz,istage)
+          DO ikx=ikxs,ikxe
+            DO iz=izs,ize
+              DO istage=1,ntimelevel
+                f(ikx,iky,iz,1) = f(ikx,iky,iz,1) + dt*b_E(istage)*f_rhs(ikx,iky,iz,istage)
+              END DO
             END DO
           END DO
-        END DO
       END DO
     CASE DEFAULT
       DO iky=ikys,ikye
-        DO ikx=ikxs,ikxe
-          DO iz=izs,ize
-            f(ikx,iky,iz,updatetlevel) = f(ikx,iky,iz,1);
-            DO istage=1,updatetlevel-1
-              f(ikx,iky,iz,updatetlevel) = f(ikx,iky,iz,updatetlevel) + &
-                                    dt*A_E(updatetlevel,istage)*f_rhs(ikx,iky,iz,istage)
+          DO ikx=ikxs,ikxe
+            DO iz=izs,ize
+              f(ikx,iky,iz,updatetlevel) = f(ikx,iky,iz,1);
+              DO istage=1,updatetlevel-1
+                f(ikx,iky,iz,updatetlevel) = f(ikx,iky,iz,updatetlevel) + &
+                                      dt*A_E(updatetlevel,istage)*f_rhs(ikx,iky,iz,istage)
+              END DO
             END DO
           END DO
-        END DO
       END DO
     END SELECT
   END SUBROUTINE advance_field
diff --git a/src/initial_par_mod.F90 b/src/initial_par_mod.F90
index de90b696b7ad4bbd51dfc58b409195049060b78d..30a161f9bebd3472908f17668365f6461f6fb12d 100644
--- a/src/initial_par_mod.F90
+++ b/src/initial_par_mod.F90
@@ -10,7 +10,7 @@ MODULE initial_par
   ! Initialization through a zonal flow phi
   INTEGER,  PUBLIC, PROTECTED :: INIT_ZF    = 0
   REAL(DP), PUBLIC, PROTECTED :: ZF_AMP     = 1E+3_dp
-  ! Wipe zonal flow in the restart (=1) or at each step (=2)
+  ! Wipe zonal flow in the restart (=1) or at each step (=2), maintain (=-1)
   INTEGER,  PUBLIC, PROTECTED :: WIPE_ZF   = 0
   ! Wipe turbulence in the restart (=1) or at each step (=2)
   INTEGER,  PUBLIC, PROTECTED :: WIPE_TURB = 0
diff --git a/src/model_mod.F90 b/src/model_mod.F90
index 7ea6600d649955c35a3886e1075cc9a61381fe33..b89be50bc62e4b990bfae1ca82b4fbbbdf44e244 100644
--- a/src/model_mod.F90
+++ b/src/model_mod.F90
@@ -39,8 +39,6 @@ MODULE model
   REAL(dp), PUBLIC, PROTECTED :: nu_ee, nu_ie         ! e-e, i-e coll. frequ.
   REAL(dp), PUBLIC, PROTECTED :: qe2_taue, qi2_taui   ! factor of the gammaD sum
 
-  REAL(dp), PUBLIC, PROTECTED :: INV_LIN_SYS = 1._dp  ! Invert the sign of the linear RHS (for measuring damped eigenvalues)
-
   PUBLIC :: model_readinputs, model_outputinputs
 
 CONTAINS