diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90
index 67a35c30bfe6d9be0d95987006b16a0a6c2ec399..7955cbdbb0c15fc46a82aed92647c9501be98112 100644
--- a/src/MNH/ini_budget.f90
+++ b/src/MNH/ini_budget.f90
@@ -3166,12 +3166,12 @@ SV_BUDGETS: do jsv = 1, ksv
 
       else if ( jsv >= nsv_lima_ccn_acti .and. jsv <= nsv_lima_ccn_acti + nmod_ccn - 1 ) then SV_LIMA
         ! Activated CCN concentration
-        gcond = lptsplit .and. lwarm_lima  .and. lacti_lima .and. nmod_ccn >= 1
+        gcond = lwarm_lima  .and. lacti_lima .and. nmod_ccn >= 1
         tzsource%cmnhname  = 'HENU'
         tzsource%clongname = 'CCN activation'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
 
-        gcond = lptsplit .and. lcold_lima .and. lnucl_lima .and. .not. lmeyers_lima
+        gcond = lcold_lima .and. lnucl_lima .and. .not. lmeyers_lima
         tzsource%cmnhname  = 'HINC'
         tzsource%clongname = 'heterogeneous nucleation by contact'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
@@ -3202,16 +3202,12 @@ SV_BUDGETS: do jsv = 1, ksv
         tzsource%clongname = 'sedimentation'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
 
-        gcond = lcold_lima .and. lnucl_lima .and. &
-                ( (      lptsplit .and. ( ( .not.lmeyers_lima .and. nmod_ifn > 0 ) .or. lmeyers_lima ) ) .or. &
-                  ( .not.lptsplit ) )
+        gcond = lcold_lima .and. lnucl_lima
         tzsource%cmnhname  = 'HIND'
         tzsource%clongname = 'heterogeneous nucleation by deposition'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
 
-        gcond = lcold_lima .and. lnucl_lima .and. &
-                ( (      lptsplit .and. ( ( .not.lmeyers_lima .and. nmod_ifn > 0 ) .or. lmeyers_lima ) ) .or. &
-                  ( .not.lptsplit ) )
+        gcond = lcold_lima .and. lnucl_lima
         tzsource%cmnhname  = 'HINC'
         tzsource%clongname = 'heterogeneous nucleation by contact'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
@@ -3289,9 +3285,7 @@ SV_BUDGETS: do jsv = 1, ksv
 
       else if ( jsv >= nsv_lima_ifn_free .and. jsv <= nsv_lima_ifn_free + nmod_ifn - 1 ) then SV_LIMA
         ! Free IFN concentration
-!Rq: if NMOD_IFN=0=> budget=0
-        gcond = ( .not.lptsplit .and. lcold_lima .and. lnucl_lima .and. .not. lmeyers_lima ) .or.              &
-                (      lptsplit .and. lcold_lima .and. lnucl_lima .and. .not. lmeyers_lima .and. nmod_ifn >= 1 )
+        gcond = lcold_lima .and. lnucl_lima .and. .not. lmeyers_lima
         tzsource%cmnhname  = 'HIND'
         tzsource%clongname = 'heterogeneous nucleation by deposition'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
@@ -3309,18 +3303,17 @@ SV_BUDGETS: do jsv = 1, ksv
 
       else if ( jsv >= nsv_lima_ifn_nucl .and. jsv <= nsv_lima_ifn_nucl + nmod_ifn - 1 ) then SV_LIMA
         ! Nucleated IFN concentration
-        gcond = lptsplit .and. lcold_lima .and. lnucl_lima .and. lmeyers_lima .and. jsv == nsv_lima_ifn_nucl
-        tzsource%cmnhname  = 'HINC'
-        tzsource%clongname = 'heterogeneous nucleation by contact'
-        call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
-
-        gcond = lptsplit .and.                                                                               &
-                     ( lcold_lima .and. lnucl_lima .and.       lmeyers_lima .and. jsv == nsv_lima_ifn_nucl ) &
-                .or. ( lcold_lima .and. lnucl_lima .and. .not. lmeyers_lima                                )
+        gcond = lcold_lima .and. lnucl_lima                                                     &
+                .and. ( ( lmeyers_lima .and. jsv == nsv_lima_ifn_nucl ) .or. .not. lmeyers_lima )
         tzsource%cmnhname  = 'HIND'
         tzsource%clongname = 'heterogeneous nucleation by deposition'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
 
+        gcond = lcold_lima .and. lnucl_lima .and. lmeyers_lima .and. jsv == nsv_lima_ifn_nucl
+        tzsource%cmnhname  = 'HINC'
+        tzsource%clongname = 'heterogeneous nucleation by contact'
+        call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
+
         gcond = lptsplit .or. ( lcold_lima .and. lwarm_lima )
         tzsource%cmnhname  = 'IMLT'
         tzsource%clongname = 'ice melting'
@@ -3334,7 +3327,7 @@ SV_BUDGETS: do jsv = 1, ksv
 
       else if ( jsv >= nsv_lima_imm_nucl .and. jsv <= nsv_lima_imm_nucl + nmod_imm - 1 ) then SV_LIMA
         ! Nucleated IMM concentration
-        gcond = lptsplit .and. lcold_lima .and. lnucl_lima .and. .not. lmeyers_lima
+        gcond = lcold_lima .and. lnucl_lima .and. .not. lmeyers_lima
         tzsource%cmnhname  = 'HINC'
         tzsource%clongname = 'heterogeneous nucleation by contact'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
@@ -3347,7 +3340,9 @@ SV_BUDGETS: do jsv = 1, ksv
 
       else if ( jsv == nsv_lima_hom_haze ) then SV_LIMA
         ! Homogeneous freezing of CCN
-        gcond = .not.lptsplit .and. lcold_lima .and. lnucl_lima .and. lwarm_lima  .and. lhhoni_lima
+        gcond = lcold_lima .and. lnucl_lima  .and.                                                     &
+                (      ( .not.lptsplit .and. ( ( lhhoni_lima .and. nmod_ccn >= 1 ) .or. lwarm_lima ) ) &
+                  .or. (      lptsplit .and.   ( lhhoni_lima .and. nmod_ccn >= 1 )                 ) )
         tzsource%cmnhname  = 'HONH'
         tzsource%clongname = 'haze homogeneous nucleation'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )