diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90
index 9283fc94736ba81ef3d5759d7fab55e371898950..3cfc87ba19f77d1a9c2ded54b86a58480915d651 100644
--- a/src/MNH/ini_budget.f90
+++ b/src/MNH/ini_budget.f90
@@ -8,6 +8,7 @@
 !  P. Wautelet 11/01/2021: ignore xbuwri for cartesian boxes (write at every xbulen interval)
 !  P. Wautelet 01/02/2021: bugfix: add missing CEDS source terms for SV budgets
 !  P. Wautelet 02/02/2021: budgets: add missing source terms for SV budgets in LIMA
+!  P. Wautelet 03/02/2021: budgets: add new source if LIMA splitting: CORR2
 !-----------------------------------------------------------------
 module mode_ini_budget
 
@@ -1271,7 +1272,7 @@ if ( tbudgets(NBUDGET_RV)%lenabled ) then
 
   !Allocate all basic source terms (used or not)
   !The size should be large enough (bigger than necessary is OK)
-  isourcesmax = 32
+  isourcesmax = 33
   tbudgets(NBUDGET_RV)%nsourcesmax = isourcesmax
   allocate( tbudgets(NBUDGET_RV)%tsources(isourcesmax) )
 
@@ -1452,6 +1453,11 @@ if ( tbudgets(NBUDGET_RV)%lenabled ) then
   tzsource%clongname = 'deposition on ice'
   call Budget_source_add( tbudgets(NBUDGET_RV), tzsource, gcond, ncdepirv )
 
+  gcond = hcloud == 'LIMA' .and. lptsplit
+  tzsource%cmnhname  = 'CORR2'
+  tzsource%clongname = 'supplementary correction inside LIMA splitting'
+  call Budget_source_add( tbudgets(NBUDGET_RV), tzsource, gcond, ncorr2rv )
+
   gcond = (      hcloud == 'KESS' .or. hcloud == 'ICE3' .or. hcloud == 'ICE4'   &
             .or. hcloud == 'KHKO' .or. hcloud == 'C2R2' .or. hcloud == 'LIMA' ) &
           .and. celec == 'NONE'
@@ -1472,7 +1478,7 @@ if ( tbudgets(NBUDGET_RC)%lenabled ) then
 
   !Allocate all basic source terms (used or not)
   !The size should be large enough (bigger than necessary is OK)
-  isourcesmax = 42
+  isourcesmax = 43
   tbudgets(NBUDGET_RC)%nsourcesmax = isourcesmax
   allocate( tbudgets(NBUDGET_RC)%tsources(isourcesmax) )
 
@@ -1714,6 +1720,11 @@ if ( tbudgets(NBUDGET_RC)%lenabled ) then
   tzsource%clongname = 'vapor condensation or cloud water evaporation'
   call Budget_source_add( tbudgets(NBUDGET_RC), tzsource, gcond, ncondrc )
 
+  gcond = hcloud == 'LIMA' .and. lptsplit
+  tzsource%cmnhname  = 'CORR2'
+  tzsource%clongname = 'supplementary correction inside LIMA splitting'
+  call Budget_source_add( tbudgets(NBUDGET_RC), tzsource, gcond, 1 )
+
   gcond = (      hcloud == 'KESS' .or. hcloud == 'ICE3' .or. hcloud == 'ICE4'   &
             .or. hcloud == 'KHKO' .or. hcloud == 'C2R2' .or. hcloud == 'LIMA' ) &
           .and. celec == 'NONE'
@@ -1730,7 +1741,7 @@ if ( tbudgets(NBUDGET_RR)%lenabled ) then
 
   !Allocate all basic source terms (used or not)
   !The size should be large enough (bigger than necessary is OK)
-  isourcesmax = 32
+  isourcesmax = 33
   tbudgets(NBUDGET_RR)%nsourcesmax = isourcesmax
   allocate( tbudgets(NBUDGET_RR)%tsources(isourcesmax) )
 
@@ -1923,6 +1934,11 @@ if ( tbudgets(NBUDGET_RR)%lenabled ) then
   tzsource%clongname = 'spontaneous freezing'
   call Budget_source_add( tbudgets(NBUDGET_RR), tzsource, gcond, nsfrrr )
 
+  gcond = hcloud == 'LIMA' .and. lptsplit
+  tzsource%cmnhname  = 'CORR2'
+  tzsource%clongname = 'supplementary correction inside LIMA splitting'
+  call Budget_source_add( tbudgets(NBUDGET_RR), tzsource, gcond, ncorr2rr )
+
   gcond = (      hcloud == 'KESS' .or. hcloud == 'ICE3' .or. hcloud == 'ICE4'   &
             .or. hcloud == 'KHKO' .or. hcloud == 'C2R2' .or. hcloud == 'LIMA' ) &
           .and. celec == 'NONE'
@@ -1939,7 +1955,7 @@ if ( tbudgets(NBUDGET_RI)%lenabled ) then
 
   !Allocate all basic source terms (used or not)
   !The size should be large enough (bigger than necessary is OK)
-  isourcesmax = 41
+  isourcesmax = 42
   tbudgets(NBUDGET_RI)%nsourcesmax = isourcesmax
   allocate( tbudgets(NBUDGET_RI)%tsources(isourcesmax) )
 
@@ -2159,6 +2175,11 @@ if ( tbudgets(NBUDGET_RI)%lenabled ) then
   tzsource%clongname = 'condensation/deposition on ice'
   call Budget_source_add( tbudgets(NBUDGET_RI), tzsource, gcond, ncdepiri )
 
+  gcond = hcloud == 'LIMA' .and. lptsplit
+  tzsource%cmnhname  = 'CORR2'
+  tzsource%clongname = 'supplementary correction inside LIMA splitting'
+  call Budget_source_add( tbudgets(NBUDGET_RI), tzsource, gcond, ncorr2ri )
+
   gcond = (      hcloud == 'KESS' .or. hcloud == 'ICE3' .or. hcloud == 'ICE4'   &
             .or. hcloud == 'KHKO' .or. hcloud == 'C2R2' .or. hcloud == 'LIMA' ) &
           .and. celec == 'NONE'
@@ -2700,7 +2721,7 @@ SV_BUDGETS: do jsv = 1, ksv
 
     !Allocate all basic source terms (used or not)
     !The size should be large enough (bigger than necessary is OK)
-    isourcesmax = 37
+    isourcesmax = 38
     tbudgets(ibudget)%nsourcesmax = isourcesmax
     allocate( tbudgets(ibudget)%tsources(isourcesmax) )
 
@@ -3021,6 +3042,11 @@ SV_BUDGETS: do jsv = 1, ksv
         tzsource%clongname = 'wet growth of hail'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
 
+        gcond = hcloud == 'LIMA' .and. lptsplit
+        tzsource%cmnhname  = 'CORR2'
+        tzsource%clongname = 'supplementary correction inside LIMA splitting'
+        call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
+
         gcond = .true.
         tzsource%cmnhname  = 'CEDS'
         tzsource%clongname = 'adjustment to saturation'
@@ -3109,6 +3135,11 @@ SV_BUDGETS: do jsv = 1, ksv
         tzsource%clongname = 'hail melting'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
 
+        gcond = hcloud == 'LIMA' .and. lptsplit
+        tzsource%cmnhname  = 'CORR2'
+        tzsource%clongname = 'supplementary correction inside LIMA splitting'
+        call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
+
 
       else if ( jsv >= nsv_lima_ccn_free .and. jsv <= nsv_lima_ccn_free + nmod_ccn - 1 ) then SV_LIMA
         ! Free CCN concentration
@@ -3250,6 +3281,11 @@ SV_BUDGETS: do jsv = 1, ksv
         tzsource%clongname = 'adjustment to saturation'
         call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
 
+        gcond = hcloud == 'LIMA' .and. lptsplit
+        tzsource%cmnhname  = 'CORR2'
+        tzsource%clongname = 'supplementary correction inside LIMA splitting'
+        call Budget_source_add( tbudgets(ibudget), tzsource, gcond, igroup )
+
 
       else if ( jsv >= nsv_lima_ifn_free .and. jsv <= nsv_lima_ifn_free + nmod_ifn - 1 ) then SV_LIMA
         ! Free IFN concentration
diff --git a/src/MNH/lima.f90 b/src/MNH/lima.f90
index 3c95e00ab3a21e76dbe3aa82514164654b31b1a5..872382a88b6c16f65107fc9e8f090c605fa23bb7 100644
--- a/src/MNH/lima.f90
+++ b/src/MNH/lima.f90
@@ -101,6 +101,7 @@ END MODULE MODI_LIMA
 !  P. Wautelet 26/02/2020: bugfix: corrected condition to write budget CORR_BU_RRS
 !  B. Vie      03/03/2020: use DTHRAD instead of dT/dt in Smax diagnostic computation
 !  P. Wautelet 28/05/2020: bugfix: correct array start for PSVT and PSVS
+!  P. Wautelet 03/02/2021: budgets: add new source if LIMA splitting: CORR2
 !-----------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -238,11 +239,13 @@ REAL, DIMENSION(:), ALLOCATABLE ::                          &
      Z_TH_DRYG, Z_RC_DRYG, Z_CC_DRYG, Z_RR_DRYG, Z_CR_DRYG, & ! dry growth of graupel (DRYG) : rc, Nc, rr, Nr, ri, Ni, rs, rg, th
      Z_RI_DRYG, Z_CI_DRYG, Z_RS_DRYG, Z_RG_DRYG,            & ! dry growth of graupel (DRYG) : rc, Nc, rr, Nr, ri, Ni, rs, rg, th
      Z_RI_HMG, Z_CI_HMG, Z_RG_HMG,                          & ! hallett mossop graupel (HMG) : ri, Ni, rg
-     Z_TH_GMLT, Z_RR_GMLT, Z_CR_GMLT                          ! graupel melting (GMLT) : rr, Nr, rg=-rr, th
+     Z_TH_GMLT, Z_RR_GMLT, Z_CR_GMLT,                       & ! graupel melting (GMLT) : rr, Nr, rg=-rr, th
 !      Z_RC_WETH, Z_CC_WETH, Z_RR_WETH, Z_CR_WETH,            & ! wet growth of hail (WETH) : rc, Nc, rr, Nr, ri, Ni, rs, rg, rh, th
 !      Z_RI_WETH, Z_CI_WETH, Z_RS_WETH, Z_RG_WETH, Z_RH_WETH, & ! wet growth of hail (WETH) : rc, Nc, rr, Nr, ri, Ni, rs, rg, rh, th
 !      Z_RG_COHG,                                             & ! conversion of hail into graupel (COHG) : rg, rh
 !      Z_RR_HMLT, Z_CR_HMLT                                     ! hail melting (HMLT) : rr, Nr, rh=-rr, th
+     Z_RV_CORR2, Z_RC_CORR2, Z_RR_CORR2, Z_RI_CORR2,        &
+     Z_CC_CORR2, Z_CR_CORR2, Z_CI_CORR2
 !
 ! for the conversion from rain to cloud, we need a 3D variable instead of a 1D packed variable
 REAL, DIMENSION(SIZE(PTHT,1),SIZE(PTHT,2),SIZE(PTHT,3)) ::  &
@@ -291,7 +294,9 @@ REAL, DIMENSION(:,:,:), ALLOCATABLE ::                                     &
 !      ZTOT_RI_WETH, ZTOT_CI_WETH, ZTOT_RS_WETH, ZTOT_RG_WETH, ZTOT_RH_WETH, & ! wet growth of hail (WETH)
 !      ZTOT_RG_COHG,                                                         & ! conversion of hail into graupel (COHG)
 !      ZTOT_RR_HMLT, ZTOT_CR_HMLT,                                           & ! hail melting (HMLT)
-     ZTOT_RR_CVRC, ZTOT_CR_CVRC                                              ! conversion of rain into cloud droplets if diameter too small
+     ZTOT_RR_CVRC, ZTOT_CR_CVRC,                                           & ! conversion of rain into cloud droplets if diameter too small
+     ZTOT_RV_CORR2, ZTOT_RC_CORR2, ZTOT_RR_CORR2, ZTOT_RI_CORR2,           &
+     ZTOT_CC_CORR2, ZTOT_CR_CORR2, ZTOT_CI_CORR2
 
 !
 !For mixing-ratio splitting
@@ -477,6 +482,14 @@ if ( lbu_enable ) then
 !   allocate( ZTOT_CR_HMLT (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CR_HMLT(:,:,:) = 0.
   allocate( ZTOT_RR_CVRC (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_RR_CVRC(:,:,:) = 0.
   allocate( ZTOT_CR_CVRC (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CR_CVRC(:,:,:) = 0.
+
+  allocate( ZTOT_RV_CORR2 (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_RV_CORR2(:,:,:) = 0.
+  allocate( ZTOT_RC_CORR2 (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_RC_CORR2(:,:,:) = 0.
+  allocate( ZTOT_RR_CORR2 (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_RR_CORR2(:,:,:) = 0.
+  allocate( ZTOT_RI_CORR2 (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_RI_CORR2(:,:,:) = 0.
+  allocate( ZTOT_CC_CORR2 (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CC_CORR2(:,:,:) = 0.
+  allocate( ZTOT_CR_CORR2 (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CR_CORR2(:,:,:) = 0.
+  allocate( ZTOT_CI_CORR2 (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CI_CORR2(:,:,:) = 0.
 END IF
 !
 ! Initial values computed as source * PTSTEP
@@ -989,6 +1002,13 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKB:IKE)<PTSTEP))
       ALLOCATE(Z_RR_GMLT(IPACK))          ; Z_RR_GMLT = 0.
       ALLOCATE(Z_CR_GMLT(IPACK))          ; Z_CR_GMLT = 0.
 
+      ALLOCATE(Z_RV_CORR2(IPACK))         ; Z_RV_CORR2 = 0.
+      ALLOCATE(Z_RC_CORR2(IPACK))         ; Z_RC_CORR2 = 0.
+      ALLOCATE(Z_RR_CORR2(IPACK))         ; Z_RR_CORR2 = 0.
+      ALLOCATE(Z_RI_CORR2(IPACK))         ; Z_RI_CORR2 = 0.
+      ALLOCATE(Z_CC_CORR2(IPACK))         ; Z_CC_CORR2 = 0.
+      ALLOCATE(Z_CR_CORR2(IPACK))         ; Z_CR_CORR2 = 0.
+      ALLOCATE(Z_CI_CORR2(IPACK))         ; Z_CI_CORR2 = 0.
       !
       !***       4.1 Tendecies computation
       !
@@ -1195,7 +1215,6 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKB:IKE)<PTSTEP))
       ZRGT1D = ZRGT1D + ZA_RG(:) * ZMAXTIME(:) + ZB_RG(:)
       ZRHT1D = ZRHT1D + ZA_RH(:) * ZMAXTIME(:) + ZB_RH(:)
       !
-
       DO II=1,NMOD_IFN
          ZIFNN1D(:,II) = ZIFNN1D(:,II) + ZB_IFNN(:,II)
       END DO
@@ -1203,16 +1222,28 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKB:IKE)<PTSTEP))
       !***       4.5 
       !
       WHERE (ZRCT1D .LE. XRTMIN(2))
+         Z_RV_CORR2(:) = ZRCT1D(:)
+         Z_RC_CORR2(:) = -ZRCT1D(:)
+         Z_CC_CORR2(:) = -ZCCT1D(:)
+
          ZRVT1D = ZRVT1D + ZRCT1D
          ZRCT1D = 0.
          ZCCT1D = 0.
       END WHERE
       WHERE (ZRRT1D .LE. XRTMIN(3))
+         Z_RV_CORR2(:) = Z_RV_CORR2(:) + ZRRT1D(:)
+         Z_RR_CORR2(:) = -ZRRT1D(:)
+         Z_CR_CORR2(:) = -ZCRT1D(:)
+
          ZRVT1D = ZRVT1D + ZRRT1D
          ZRRT1D = 0.
          ZCRT1D = 0.
       END WHERE
       WHERE (ZRIT1D .LE. XRTMIN(4))
+         Z_RV_CORR2(:) = Z_RV_CORR2(:) + ZRIT1D(:)
+         Z_RI_CORR2(:) = -ZRIT1D(:)
+         Z_CI_CORR2(:) = -ZCIT1D(:)
+
          ZRVT1D = ZRVT1D + ZRIT1D
          ZRIT1D = 0.
          ZCIT1D = 0.
@@ -1350,6 +1381,15 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKB:IKE)<PTSTEP))
 !!$            ZTOT_RG_COHG(I1(II),I2(II),I3(II)) =   ZTOT_RG_COHG(I1(II),I2(II),I3(II))   + Z_RG_COHG(II)  * ZMAXTIME(II)
 !!$            ZTOT_RR_HMLT(I1(II),I2(II),I3(II)) =   ZTOT_RR_HMLT(I1(II),I2(II),I3(II))   + Z_RR_HMLT(II)  * ZMAXTIME(II)
 !!$            ZTOT_CR_HMLT(I1(II),I2(II),I3(II)) =   ZTOT_CR_HMLT(I1(II),I2(II),I3(II))   + Z_CR_HMLT(II)  * ZMAXTIME(II)
+
+          !Correction term
+          ZTOT_RV_CORR2(I1(II),I2(II),I3(II)) =   ZTOT_RV_CORR2(I1(II),I2(II),I3(II)) + Z_RV_CORR2(II)
+          ZTOT_RC_CORR2(I1(II),I2(II),I3(II)) =   ZTOT_RC_CORR2(I1(II),I2(II),I3(II)) + Z_RC_CORR2(II)
+          ZTOT_RR_CORR2(I1(II),I2(II),I3(II)) =   ZTOT_RR_CORR2(I1(II),I2(II),I3(II)) + Z_RR_CORR2(II)
+          ZTOT_RI_CORR2(I1(II),I2(II),I3(II)) =   ZTOT_RI_CORR2(I1(II),I2(II),I3(II)) + Z_RI_CORR2(II)
+          ZTOT_CC_CORR2(I1(II),I2(II),I3(II)) =   ZTOT_CC_CORR2(I1(II),I2(II),I3(II)) + Z_CC_CORR2(II)
+          ZTOT_CR_CORR2(I1(II),I2(II),I3(II)) =   ZTOT_CR_CORR2(I1(II),I2(II),I3(II)) + Z_CR_CORR2(II)
+          ZTOT_CI_CORR2(I1(II),I2(II),I3(II)) =   ZTOT_CI_CORR2(I1(II),I2(II),I3(II)) + Z_CI_CORR2(II)
          END DO
       ENDIF
       !
@@ -1490,7 +1530,15 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKB:IKE)<PTSTEP))
       DEALLOCATE(Z_TH_GMLT)
       DEALLOCATE(Z_RR_GMLT)
       DEALLOCATE(Z_CR_GMLT)
-      !      
+
+      DEALLOCATE(Z_RV_CORR2)
+      DEALLOCATE(Z_RC_CORR2)
+      DEALLOCATE(Z_RR_CORR2)
+      DEALLOCATE(Z_RI_CORR2)
+      DEALLOCATE(Z_CC_CORR2)
+      DEALLOCATE(Z_CR_CORR2)
+      DEALLOCATE(Z_CI_CORR2)
+      !
    ENDDO
 ENDDO
 !
@@ -1550,6 +1598,7 @@ if ( lbu_enable ) then
     call Budget_store_add( tbudgets(NBUDGET_RV), 'REVA', -ztot_rr_evap (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(NBUDGET_RV), 'DEPS', -ztot_rs_deps (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(NBUDGET_RV), 'DEPG', -ztot_rg_depg (:, :, :) * zrhodjontstep(:, :, :) )
+    call Budget_store_add( tbudgets(NBUDGET_RV), 'CORR2', ztot_rv_corr2(:, :, :) * zrhodjontstep(:, :, :) )
   end if
 
   if ( lbudget_rc ) then
@@ -1563,6 +1612,7 @@ if ( lbu_enable ) then
     call Budget_store_add( tbudgets(NBUDGET_RC), 'WETG',  ztot_rc_wetg (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(NBUDGET_RC), 'DRYG',  ztot_rc_dryg (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(NBUDGET_RC), 'CVRC', -ztot_rr_cvrc (:, :, :) * zrhodjontstep(:, :, :) )
+    call Budget_store_add( tbudgets(NBUDGET_RC), 'CORR2', ztot_rc_corr2(:, :, :) * zrhodjontstep(:, :, :) )
   end if
 
   if ( lbudget_rr ) then
@@ -1576,6 +1626,7 @@ if ( lbu_enable ) then
     call Budget_store_add( tbudgets(NBUDGET_RR), 'DRYG',  ztot_rr_dryg(:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(NBUDGET_RR), 'GMLT',  ztot_rr_gmlt(:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(NBUDGET_RR), 'CVRC',  ztot_rr_cvrc(:, :, :) * zrhodjontstep(:, :, :) )
+    call Budget_store_add( tbudgets(NBUDGET_RR), 'CORR2', ztot_rr_corr2(:, :, :) * zrhodjontstep(:, :, :) )
   end if
 
   if ( lbudget_ri ) then
@@ -1590,6 +1641,7 @@ if ( lbu_enable ) then
     call Budget_store_add( tbudgets(NBUDGET_RI), 'WETG',   ztot_ri_wetg (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(NBUDGET_RI), 'DRYG',   ztot_ri_dryg (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(NBUDGET_RI), 'HMG',    ztot_ri_hmg  (:, :, :) * zrhodjontstep(:, :, :) )
+    call Budget_store_add( tbudgets(NBUDGET_RI), 'CORR2',  ztot_ri_corr2(:, :, :) * zrhodjontstep(:, :, :) )
   end if
 
   if ( lbudget_rs ) then
@@ -1638,6 +1690,7 @@ if ( lbu_enable ) then
     call Budget_store_add( tbudgets(idx), 'WETG',  ztot_cc_wetg (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'DRYG',  ztot_cc_dryg (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'CVRC', -ztot_cr_cvrc (:, :, :) * zrhodjontstep(:, :, :) )
+    call Budget_store_add( tbudgets(idx), 'CORR2', ztot_cc_corr2(:, :, :) * zrhodjontstep(:, :, :) )
     !
     ! Rain drops
     !
@@ -1653,6 +1706,7 @@ if ( lbu_enable ) then
     call Budget_store_add( tbudgets(idx), 'DRYG',  ztot_cr_dryg(:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'GMLT',  ztot_cr_gmlt(:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'CVRC',  ztot_cr_cvrc(:, :, :) * zrhodjontstep(:, :, :) )
+    call Budget_store_add( tbudgets(idx), 'CORR2', ztot_cr_corr2(:, :, :) * zrhodjontstep(:, :, :) )
     !
     ! Ice crystals
     !
@@ -1667,6 +1721,7 @@ if ( lbu_enable ) then
     call Budget_store_add( tbudgets(idx), 'WETG',   ztot_ci_wetg (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'DRYG',   ztot_ci_dryg (:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'HMG',    ztot_ci_hmg  (:, :, :) * zrhodjontstep(:, :, :) )
+    call Budget_store_add( tbudgets(idx), 'CORR2',  ztot_ci_corr2(:, :, :) * zrhodjontstep(:, :, :) )
   end if
 
   deallocate( zrhodjontstep )
diff --git a/src/MNH/modd_budget.f90 b/src/MNH/modd_budget.f90
index a0674b1718474c0cd02cf5906459481355d8b627..50675484cd40c2a46d70f59b5289bc9b9b44b4de 100644
--- a/src/MNH/modd_budget.f90
+++ b/src/MNH/modd_budget.f90
@@ -59,6 +59,7 @@
 !  P. Wautelet 08/12/2020: add nbusubwrite and nbutotwrite
 !  P. Wautelet 11/01/2021: remove nbuwrnb (replaced by nbusubwrite)
 !  P. Wautelet 14/01/2021: change xbusurf type to integer (+ rename it to nbusurf)
+!  P. Wautelet 03/02/2021: budgets: add new source if LIMA splitting: CORR2
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -385,6 +386,7 @@ INTEGER, SAVE :: NHINDRV  = 0 ! Heterogeneous Nucleation by Deposition LIMA
 INTEGER, SAVE :: NHONHRV  = 0 ! Haze Homogeneous Nucleation            LIMA
 INTEGER, SAVE :: NCEDSRV  = 0 ! adjustement
 INTEGER, SAVE :: NVISCRV  = 0 ! viscosity
+INTEGER, SAVE :: NCORR2RV = 0 ! Correction in LIMA splitting
 !
 !      Allowed processes for the budget of moist variable RRC (cloud water)
 !                                                  
@@ -431,6 +433,7 @@ INTEGER, SAVE :: NCORRRC   = 0 ! rain <-> cloud transfer at the beginning of LIM
 INTEGER, SAVE :: NR2C1RC   = 0 ! rain -> cloud change after sedimentation in LIMA
 INTEGER, SAVE :: NCVRCRC   = 0 ! rain -> cloud change after other microphysical processes in LIMA
 INTEGER, SAVE :: NVISCRC   = 0 ! viscosity
+INTEGER, SAVE :: NCORR2RC  = 0 ! Correction in LIMA splitting
 !
 !      Allowed processes for the budget of moist variable RRR (rain water)
 !
@@ -467,6 +470,7 @@ INTEGER, SAVE :: NHONRRR  = 0 ! drop homogeneous nucleation LIMA
 INTEGER, SAVE :: NR2C1RR  = 0 ! rain -> cloud change after sedimentation in LIMA
 INTEGER, SAVE :: NCVRCRR  = 0 ! rain -> cloud change after other microphysical processes in LIMA
 INTEGER, SAVE :: NVISCRR  = 0 ! viscosity
+INTEGER, SAVE :: NCORR2RR = 0 ! Correction in LIMA splitting
 !
 !      Allowed processes for the budget of moist variable RRI (ice)
 !
@@ -512,6 +516,7 @@ INTEGER, SAVE :: NHMGRI   = 0 ! Hallett-Mossop ice multiplication process due to
 INTEGER, SAVE :: NCEDSRI  = 0 ! adjustement LIMA
 INTEGER, SAVE :: NCORRRI  = 0 ! ice <-> snow transfer at the beginning of LIMA
 INTEGER, SAVE :: NVISCRI  = 0 ! viscosity
+INTEGER, SAVE :: NCORR2RI = 0 ! Correction in LIMA splitting
 !
 !      Allowed processes for the budget of moist variable RRS (snow)
 !