diff --git a/source/model/lake.f90 b/source/model/lake.f90
index 72b3311e0539b0486675e5095efe49a846b56f92..269301d717d3e37fd4c2ed7ee089708508d589b0 100644
--- a/source/model/lake.f90
+++ b/source/model/lake.f90
@@ -932,6 +932,9 @@ endif
 ! Calculation of the whole temperature profile
 call T_SOLVER(ix,iy,dnx,dny,year,month,day,hour,phi, &
 & RadWater, RadIce, SurfTemp, fetch, dt)
+if (soilswitch%par == 1) then
+  call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
+endif
 
 ! Diagnostic calculations
 do i = 1, M
@@ -958,7 +961,6 @@ call OXYGEN_PRODCONS(gs, gsp, wst, bathymsoil, gas, area_int, area_half, ddz05,
 & prodox, resp, bod, sod, sodbot)
 
 if (soilswitch%par == 1) then
-  call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
   ! Calculation of methane in all soil columns, except for the lowest one
   if (multsoil) then
     call SOILCOLSTEMP(gs,gsp,dt,ls,ftot,ch4_pres_atm,ddz,ddzi,zsoilcols, &
@@ -987,7 +989,7 @@ if (soilswitch%par == 1) then
   gs%isoilcol = nsoilcols
   call METHANE &
   & (gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,nsoilcols),rosoil,fbbleflx_ch4_sum, &
-  & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals2, &
+  & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals1, &
   & rootss,rosdry,por,veg,0._ireals,TgrAnn, methgenmh, &
   & ddz,ddz05,wst, lammeth, h1, ls, dhw, dhw0, .true., .false., &
   & lsm, bathymwater, &
@@ -1316,6 +1318,9 @@ if (flag_snow == 1) then
   ! Calculation of the whole temperature profile 
   call T_SOLVER(ix,iy,dnx,dny,year,month,day,hour,phi, &
   & RadWater, RadIce, SurfTemp, fetch, dt)
+  if (soilswitch%par == 1) then
+    call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
+  endif
 
   !Assuming all dissolved species diffuse with the same molecular diffusivity as salinity
   lamsal(:)    = (lamw(:) - lamw0)/cw_m_row0 * alsal    + lamsal0
@@ -1328,7 +1333,6 @@ if (flag_snow == 1) then
   call S_DIFF(dt,ls,salice)
   if (saltice%par == 1) call UPDATE_ICE_SALINITY(dt,ls,wst)
   if (soilswitch%par == 1) then
-    call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
     ! Calculation of methane in all soil columns, except for the lowest one
     if (multsoil) then
       call SOILCOLSTEMP(gs,gsp,dt,ls,ftot,ch4_pres_atm,ddz,ddzi,zsoilcols, &
@@ -1366,7 +1370,7 @@ if (flag_snow == 1) then
     gs%isoilcol = nsoilcols
     call METHANE &
     & (gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,nsoilcols),rosoil,fbbleflx_ch4_sum, &
-    & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals2, &
+    & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals1, &
     & rootss,rosdry,por,veg,0._ireals,TgrAnn, methgenmh, &
     & ddz,ddz05,wst, lammeth, h1, ls, dhw, dhw0, .true., .false. ,&
     & lsm, bathymwater, &
@@ -1583,6 +1587,9 @@ else
   ! Calculation of the whole temperature profile
   call T_SOLVER(ix,iy,dnx,dny,year,month,day,hour,phi, &
   & RadWater, RadIce, SurfTemp, fetch, dt)
+  if (soilswitch%par == 1) then
+    call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
+  endif
 
   !Assuming all dissolved species diffuse with the same molecular diffusivity as salinity
   lamsal(:)    = (lamw(:) - lamw0)/cw_m_row0 * alsal    + lamsal0
@@ -1603,7 +1610,6 @@ else
   & prodox, resp, bod, sod, sodbot)
 
   if (soilswitch%par == 1) then
-    call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
   ! Calculation of temperature in all soil columns, except for the lowest one
     if (multsoil) then
       call SOILCOLSTEMP(gs,gsp,dt,ls,ftot,ch4_pres_atm,ddz,ddzi,zsoilcols, &
@@ -1630,7 +1636,7 @@ else
     gs%isoilcol = nsoilcols
     call METHANE &
     & (gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,nsoilcols),rosoil,fbbleflx_ch4_sum, &
-    & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals2, &
+    & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals1, &
     & rootss,rosdry,por,veg,0._ireals,TgrAnn, methgenmh, &
     & ddz,ddz05,wst, lammeth, h1, ls, dhw, dhw0, .true., .false., &
     & lsm, bathymwater, &
@@ -1813,13 +1819,13 @@ if (flag_snow == 1) then
   ! Temperature profile calculation
   call T_SOLVER(ix,iy,dnx,dny,year,month,day,hour,phi, &
   & RadWater, RadIce, SurfTemp, fetch, dt)
+  if (soilswitch%par == 1) then
+    call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
+  endif
 
   ! Salinity profile
   call S_DIFF(dt,ls,salice)
   if (saltice%par == 1) call UPDATE_ICE_SALINITY(dt,ls,wst)
-  if (soilswitch%par == 1) then
-    call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
-  endif
   call SNOWTEMP(ix,iy,dnx,dny,year,month,day,hour,snowmass, &
   & snowmass_init,a,b,c,d,Temp,phi,fetch,dt)
   if (soilswitch%par == 1) then
@@ -1827,7 +1833,7 @@ if (flag_snow == 1) then
     gs%isoilcol = nsoilcols
     call METHANE &
     & (gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,nsoilcols),rosoil,fbbleflx_ch4_sum, &
-    & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals2, &
+    & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals1, &
     & rootss,rosdry,por,veg,0._ireals,TgrAnn, methgenmh, &
     & ddz,ddz05,wst, lammeth, h1, ls, dhw, dhw0, .true., .false., &
     & lsm, bathymwater, &
@@ -1898,17 +1904,19 @@ else
   & gsp,soilflux(1,ix,iy),.false.,lsh)
   call T_SOLVER(ix,iy,dnx,dny,year,month,day,hour,phi, &
   & RadWater, RadIce, SurfTemp, fetch, dt)
+  if (soilswitch%par == 1) then
+    call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
+  endif
 
   ! Salinity profile
   call S_DIFF(dt,ls,salice)
   if (saltice%par == 1) call UPDATE_ICE_SALINITY(dt,ls,wst)
   if (soilswitch%par == 1) then
-    call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
     call BUBBLE_BLOCK
     gs%isoilcol = nsoilcols
     call METHANE &
     & (gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,nsoilcols),rosoil,fbbleflx_ch4_sum, &
-    & fbbleflx_ch4(0,nsoilcols), wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals2, &
+    & fbbleflx_ch4(0,nsoilcols), wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals1, &
     & rootss,rosdry,por,veg,0._ireals,TgrAnn, methgenmh, &
     & ddz,ddz05,wst, lammeth, h1, ls, dhw, dhw0, .true., .false., &
     & lsm, bathymwater, &
@@ -1954,12 +1962,12 @@ if4: IF (layer_case==4) THEN
     endif
     call T_SOLVER(ix,iy,dnx,dny,year,month,day,hour,phi, &
     & RadWater, RadIce, SurfTemp, fetch, dt)
-
-    ! Salinity profile
-    call S_DIFF(dt,ls,salice)
     if (soilswitch%par == 1) then
       call SOILFORLAKE(dt,a,b,c,d,nsoilcols)
     endif
+
+    ! Salinity profile
+    call S_DIFF(dt,ls,salice)
     call SNOWTEMP(ix,iy,dnx,dny,year,month,day,hour,snowmass, &
     & snowmass_init,a,b,c,d,Temp,phi,fetch,dt)
     if (soilswitch%par == 1) then
@@ -1967,7 +1975,7 @@ if4: IF (layer_case==4) THEN
       gs%isoilcol = nsoilcols
       call METHANE &
       & (gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,nsoilcols),rosoil,fbbleflx_ch4_sum, &
-      & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals2, &
+      & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals1, &
       & rootss,rosdry,por,veg,0._ireals,TgrAnn, methgenmh, &
       & ddz,ddz05,wst, lammeth, h1, ls, dhw, dhw0, .true., .false., &
       & lsm, bathymwater, &
@@ -2005,7 +2013,7 @@ if4: IF (layer_case==4) THEN
       call BUBBLE_BLOCK 
       gs%isoilcol = nsoilcols
       call METHANE(gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,nsoilcols),rosoil,fbbleflx_ch4_sum, &
-      & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals2, &
+      & fbbleflx_ch4(0,nsoilcols),wl4(1,nsoilcols),wi2(1,nsoilcols),wa,Sals1, &
       & rootss,rosdry,por,veg,0._ireals,TgrAnn, methgenmh, &
       & ddz,ddz05,wst, lammeth, h1, ls, dhw, dhw0, .true., .false., &
       & lsm, bathymwater, &
diff --git a/source/model/methane_mod.f90 b/source/model/methane_mod.f90
index b71925ae567380f036139e3d3bc1a75918c5fd07..c5ee1995f923b0ca0e80bbd75d947367d345d9b2 100644
--- a/source/model/methane_mod.f90
+++ b/source/model/methane_mod.f90
@@ -639,8 +639,6 @@ if (deepestsoil) then
       call PROGONKA (a,b,c,f,y,1,gs%M+1)
       y(1:gs%M+1) = max(y(1:gs%M+1),0.e0_ireals)
       qwater(1:gs%M+1,2) = y(1:gs%M+1)
-      !print*, lammeth(1), lammeth(gs%M)
-      !print*, y(1), y(gs%M+1)
     else
       bottom_layer_if : if (ls%ls1 > 0) then
         ! Case water, deepice and soil; upper ice and snow are allowed       
diff --git a/source/model/soil_mod.f90 b/source/model/soil_mod.f90
index b13e7069311296583f698881c11086c3808fcdfc..275f0831b8e08abac7966c81c013aa718351a703 100644
--- a/source/model/soil_mod.f90
+++ b/source/model/soil_mod.f90
@@ -478,7 +478,7 @@ enddo
 ! STEP 3 OF SPLITTING-UP METHOD : PHASE PROCESSES
 mhsep = (1. + tricemethhydr%par*alphamh)
 20 c2: do i = 1, ns
-  work = MELTINGPOINT(Sals2(i,is)/wl3(i),pressoil(i),tricemethhydr%par)
+  work = MELTINGPOINT(Sals1(i,is)/wl3(i),pressoil(i),tricemethhydr%par)
   if (wi1(i,is) > 0 .and. Tsoil2(i) > work + 0.01) then
     Potphenergy = (Tsoil2(i) - (work + 0.01)) * &
     & csoil(i)*rosoil(i)*dzss(i)
@@ -534,7 +534,7 @@ enddo c2
 max1 = 0.
 do i = 1, ns
   if (Tsoil3(i,is) < &
-    & MELTINGPOINT(Sals2(i,is)/wl4(i,is),pressoil(i),tricemethhydr%par) - 0.01 &
+    & MELTINGPOINT(Sals1(i,is)/wl4(i,is),pressoil(i),tricemethhydr%par) - 0.01 &
     &.and. abs(wl4(i,is) - UNFRWAT(Tsoil3(i,is),i)) > max1) then
     max1 = abs(wl4(i,is) - UNFRWAT(Tsoil3(i,is),i))
   endif
@@ -807,7 +807,7 @@ use PHYS_FUNC, only : &
 
 use ARRAYS_BATHYM, only : bathym, dhw, dhw0, layers_type
 use ARRAYS_SOIL, only : csoil, rosoil, lamsoil, Tsoil3, Tsoil2, Tsoil1, &
-& wl4,wi2,wa,Sals2,rosdry,por,lsm,dzs,zsoil,rosoil
+& wl4,wi2,wa,Sals1,rosdry,por,lsm,dzs,zsoil,rosoil
 use ARRAYS_GRID, only : ddz05, gridsize_type, gridspacing_type
 use ARRAYS_METHANE, only : veg,TgrAnn,methgenmh,qwater,lammeth, &
 & fplant,febul0, fdiff_lake_surf, &
@@ -942,7 +942,7 @@ if (contr(2) == 1) then
       call METHANE &
       & (gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,is),rosoil, &
       & work, work, &
-      & wl4(1,is),wi2(1,is),wa,Sals2, &
+      & wl4(1,is),wi2(1,is),wa,Sals1, &
       & rootss,rosdry,por,veg,qsoilsurf(is)*por(1),TgrAnn, methgenmh, &
       & ddz,ddz05, wst, lammeth, &
       & gsp%z_half(bathymsoil(is)%icent), & !0.5*(zsoilcols(is) + zsoilcols(is+1)), &
@@ -979,7 +979,7 @@ if (contr(2) == 1) then
       call METHANE &
       & (gas,pressure,wind10,ch4_pres_atm,zsoil,Tsoil3(1,is),rosoil, &
       & work, work, &
-      & wl4(1,is),wi2(1,is),wa,Sals2, &
+      & wl4(1,is),wi2(1,is),wa,Sals1, &
       & rootss,rosdry,por,veg,fdiffbot(is),TgrAnn, methgenmh, &
       & ddz,ddz05, wst, lammeth, &
       & gsp%z_half(bathymsoil(is)%icent), & !0.5*(zsoilcols(is) + zsoilcols(is+1)), &