diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90
index e608329df4aca433aa5c4b0c41bc3ec66ced86d6..e446214f03f997d58562302d01d036a6bfa14e4e 100644
--- a/src/MNH/ini_budget.f90
+++ b/src/MNH/ini_budget.f90
@@ -1220,7 +1220,8 @@ if ( lbu_rth ) then
   tzsource%clongname  = 'wet growth of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima &
                                                 .and. lwarm_lima    .and. lsnow_lima )                   &
-                        .or.   hcloud == 'ICE4'
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
+                        .or.   hcloud == 'ICE4' 
   call Budget_source_add( tbudgets(NBUDGET_TH), tzsource )
 
   tzsource%cmnhname   = 'DRYH'
@@ -1232,6 +1233,7 @@ if ( lbu_rth ) then
   tzsource%clongname  = 'melting of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima &
                                                 .and. lwarm_lima    .and. lsnow_lima ) &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                         .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_TH), tzsource )
 
@@ -1833,6 +1835,7 @@ if ( tbudgets(NBUDGET_RC)%lenabled ) then
   tzsource%clongname  = 'wet growth of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima  &
                                                 .and. lwarm_lima    .and. lsnow_lima )                 &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                         .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_RC), tzsource )
 
@@ -2062,6 +2065,7 @@ if ( tbudgets(NBUDGET_RR)%lenabled ) then
   tzsource%clongname  = 'wet growth of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima &
                                                 .and. lwarm_lima    .and. lsnow_lima )                &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                         .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_RR), tzsource )
 
@@ -2074,6 +2078,7 @@ if ( tbudgets(NBUDGET_RR)%lenabled ) then
   tzsource%clongname  = 'melting of hail'
   tzsource%lavailable =       ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima &
                                                 .and. lwarm_lima    .and. lsnow_lima )                &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                          .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_RR), tzsource )
 
@@ -2323,6 +2328,7 @@ if ( tbudgets(NBUDGET_RI)%lenabled ) then
   tzsource%clongname  = 'wet growth of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima &
                                                 .and. lwarm_lima    .and. lsnow_lima )                &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                         .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_RI), tzsource )
 
@@ -2529,6 +2535,7 @@ if ( tbudgets(NBUDGET_RS)%lenabled ) then
   tzsource%clongname  = 'wet growth of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima &
                                                 .and. lwarm_lima    .and. lsnow_lima )                &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                         .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_RS), tzsource )
 
@@ -2725,12 +2732,13 @@ if ( tbudgets(NBUDGET_RG)%lenabled ) then
   tzsource%clongname  = 'wet growth of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima &
                                                 .and. lwarm_lima    .and. lsnow_lima )                &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                         .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_RG), tzsource )
 
   tzsource%cmnhname   = 'COHG'
   tzsource%clongname  = 'conversion of hail to graupel'
-  tzsource%lavailable = hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima .and. lwarm_lima .and. lsnow_lima
+  tzsource%lavailable = hcloud == 'LIMA' .and. (lptsplit .or. (lhail_lima .and. lcold_lima .and. lwarm_lima .and. lsnow_lima) )
   call Budget_source_add( tbudgets(NBUDGET_RG), tzsource )
 
   tzsource%cmnhname   = 'HGCV'
@@ -2872,13 +2880,14 @@ if ( tbudgets(NBUDGET_RH)%lenabled ) then
   tzsource%clongname  = 'wet growth of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima    &
                                                                     .and. lwarm_lima .and. lsnow_lima ) &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                         .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_RH), tzsource )
 
   tzsource%cmnhname   = 'COHG'
   tzsource%clongname  = 'conversion from hail to graupel'
-  tzsource%lavailable = hcloud == 'LIMA' .and. .not.lptsplit .and. lhail_lima .and. lcold_lima &
-                                                             .and. lwarm_lima .and. lsnow_lima
+  tzsource%lavailable = hcloud == 'LIMA' .and. ( lptsplit .or. (lhail_lima .and. lcold_lima &
+                                                             .and. lwarm_lima .and. lsnow_lima) )
   call Budget_source_add( tbudgets(NBUDGET_RH), tzsource )
 
   tzsource%cmnhname   = 'HGCV'
@@ -2895,6 +2904,7 @@ if ( tbudgets(NBUDGET_RH)%lenabled ) then
   tzsource%clongname  = 'melting of hail'
   tzsource%lavailable =      ( hcloud == 'LIMA' .and. .not. lptsplit .and. lhail_lima .and. lcold_lima   &
                                                                      .and. lwarm_lima .and. lsnow_lima ) &
+                        .or. ( hcloud == 'LIMA' .and. lptsplit ) &
                         .or.   hcloud == 'ICE4'
   call Budget_source_add( tbudgets(NBUDGET_RH), tzsource )
 
diff --git a/src/MNH/lima_snow_self_collection.f90 b/src/MNH/lima_snow_self_collection.f90
index 9c499d66648bb390997c5918487a4d2d46ed69fc..ea38870b87d715c9d5d556b1ea1d9353c44bf41e 100644
--- a/src/MNH/lima_snow_self_collection.f90
+++ b/src/MNH/lima_snow_self_collection.f90
@@ -8,16 +8,17 @@
 !      #################################
 !
 INTERFACE
-   SUBROUTINE LIMA_SNOW_SELF_COLLECTION (LDCOMPUTE,    &
-                                         PRHODREF, PT, &
-                                         PCST, PLBDS,  &
-                                         P_CS_SSC      )
+   SUBROUTINE LIMA_SNOW_SELF_COLLECTION (LDCOMPUTE,          &
+                                         PRHODREF, PT,       &
+                                         PRST, PCST, PLBDS,  &
+                                         P_CS_SSC            )
 !
 LOGICAL, DIMENSION(:),INTENT(IN)    :: LDCOMPUTE
 !
 REAL, DIMENSION(:),   INTENT(IN)    :: PRHODREF ! Reference Exner function
 REAL, DIMENSION(:),   INTENT(IN)    :: PT       ! Temperature
 !
+REAL, DIMENSION(:),   INTENT(IN)    :: PRST    ! Snow mr at t
 REAL, DIMENSION(:),   INTENT(IN)    :: PCST    ! Snow C. at t
 REAL, DIMENSION(:),   INTENT(IN)    :: PLBDS   ! 
 !
@@ -28,10 +29,10 @@ END INTERFACE
 END MODULE MODI_LIMA_SNOW_SELF_COLLECTION
 !
 !     #############################################################
-      SUBROUTINE LIMA_SNOW_SELF_COLLECTION (LDCOMPUTE,    &
-                                            PRHODREF, PT, &
-                                            PCST, PLBDS,  &
-                                            P_CS_SSC      )
+      SUBROUTINE LIMA_SNOW_SELF_COLLECTION (LDCOMPUTE,          &
+                                            PRHODREF, PT,       &
+                                            PRST, PCST, PLBDS,  &
+                                            P_CS_SSC            )
 !     #############################################################
 !
 !!    PURPOSE
@@ -56,7 +57,7 @@ END MODULE MODI_LIMA_SNOW_SELF_COLLECTION
 !              ------------
 !
 USE MODD_CST,             ONLY : XTT
-USE MODD_PARAM_LIMA,      ONLY : XCTMIN, XCEXVT
+USE MODD_PARAM_LIMA,      ONLY : XRTMIN, XCTMIN, XCEXVT
 USE MODD_PARAM_LIMA_COLD, ONLY : NSCLBDAS, XSCINTP1S, XSCINTP2S, XKER_N_SSCS, XFNSSCS, XCOLEXSS, &
                                  XLBNSSCS1, XLBNSSCS2
 !
@@ -69,6 +70,7 @@ LOGICAL, DIMENSION(:),INTENT(IN)    :: LDCOMPUTE
 REAL, DIMENSION(:),   INTENT(IN)    :: PRHODREF ! Reference Exner function
 REAL, DIMENSION(:),   INTENT(IN)    :: PT       ! Temperature
 !
+REAL, DIMENSION(:),   INTENT(IN)    :: PRST    ! Snow mr at t
 REAL, DIMENSION(:),   INTENT(IN)    :: PCST    ! Snow C. at t
 REAL, DIMENSION(:),   INTENT(IN)    :: PLBDS   ! 
 !
@@ -96,7 +98,7 @@ P_CS_SSC(:)=0.
 ZW1(:) =0.
 ZW2(:) =0.
 !
-GSSC(:) = PCST(:)>XCTMIN(5)
+GSSC(:) = PCST(:)>XCTMIN(5) .AND. PRST(:)>XRTMIN(5)
 IGSSC = COUNT(GSSC(:))
 !
 IF( IGSSC>0 ) THEN
diff --git a/src/MNH/lima_tendencies.f90 b/src/MNH/lima_tendencies.f90
index ea5acd4c97fde650b8ccea1dbbf21713784f0c9e..d8c8d18d9c1ee8371d6c0ef6274f5af50d85ac3d 100644
--- a/src/MNH/lima_tendencies.f90
+++ b/src/MNH/lima_tendencies.f90
@@ -853,7 +853,7 @@ END IF
 IF (LSNOW .AND. NMOM_S.GE.2) THEN 
    CALL LIMA_SNOW_SELF_COLLECTION (LDCOMPUTE,           & ! depends on PF
                                    PRHODREF,            &
-                                   PCST/ZPF1D(:), ZLBDS, ZLBDS3, &
+                                   ZRST(:)/ZPF1D(:), PCST/ZPF1D(:), ZLBDS, ZLBDS3, &
                                    P_CS_SSC             )
    !
    P_CS_SSC(:) = P_CS_SSC(:) * ZPF1D(:)
diff --git a/src/MNH/modd_budget.f90 b/src/MNH/modd_budget.f90
index 7442dfd3e0184598cd4ee7687456a5e31b900e5b..cf07928ba558bf5422b5296976c16968e4e2c189 100644
--- a/src/MNH/modd_budget.f90
+++ b/src/MNH/modd_budget.f90
@@ -60,7 +60,7 @@ implicit none
 
 public
 
-integer, parameter :: NBULISTMAXLEN   = 256
+integer, parameter :: NBULISTMAXLEN   = 128
 integer, parameter :: NBULISTMAXLINES = 50
 
 integer, parameter :: NBUDGET_RHO = 0  ! Reference number for budget of RhoJ