diff --git a/code/src/hd_driver.f90 b/code/src/hd_driver.f90
index 6459804085b85cdbe18ed64d5196848a1ac95b0a..d8113c7f48f64f102289dc58f43a5c5fc03e869e 100644
--- a/code/src/hd_driver.f90
+++ b/code/src/hd_driver.f90
@@ -361,7 +361,11 @@ write(nout,*) 'OTBhd_init_io'
 
      ! write restart file
      IF (step == istep+nstep) THEN                    ! End of simulation restart
-       CALL hydrology_restart 
+       IF (LEN_TRIM(date_rest).GT.0 .AND. step == istep+nstep_rest) THEN
+         CALL hydrology_restart(date_rest, time_rest)
+       ELSE
+         CALL hydrology_restart 
+       ENDIF
      ELSE IF (step == istep+nstep_rest) THEN          ! Dedicated or regular restart
        CALL hydrology_restart(date_rest, time_rest)
        IF (irest_regular.GT.0) CALL update_regular_restart(irest_regular, nstep_rest, date_rest)
diff --git a/code/src/mo_hydrology.f90 b/code/src/mo_hydrology.f90
index 0c70610f4ab8ff8ed0f4784712eb92496cf4c817..2ec9444fb0a00d8c2d74b2f574a42dc44b94e137 100644
--- a/code/src/mo_hydrology.f90
+++ b/code/src/mo_hydrology.f90
@@ -57,7 +57,7 @@ MODULE mo_hydrology
                               delta_time, ev_puthd, get_interval_seconds, &
                               io_time_event,  &
                               initial_date, start_date, out_convert_date, inp_convert_date, &
-                              current_date, cdate2ymd, ctime2hms
+                              current_date, cdate2ymd, ctime2hms, calc_current_end_date
   USE mo_array_utils,   ONLY: dec_monotonic_closest_midpoint, &
                               inc_monotonic_closest_midpoint
   USE mo_coupling,      ONLY: set_grid_dimensions, set_local_partition, &
@@ -661,10 +661,10 @@ CONTAINS
         CALL IO_put_att_text (fileID, NF_GLOBAL, 'restart_date', date_rest)
         CALL IO_put_att_text (fileID, NF_GLOBAL, 'restart_time', time_rest)
       ELSE
-        CALL out_convert_date (current_date, yyyymmdd, hhmmss) 
-        CALL IO_put_att_int (fileID, NF_GLOBAL, 'current_date', yyyymmdd)
+        CALL calc_current_end_date (yyyymmdd, hhmmss) 
+        CALL IO_put_att_int (fileID, NF_GLOBAL, 'restart_date', yyyymmdd)
         WRITE(chms, '(I6.6)') hhmmss
-        CALL IO_put_att_text (fileID, NF_GLOBAL, 'current_time', chms)
+        CALL IO_put_att_text (fileID, NF_GLOBAL, 'restart_time', chms)
       ENDIF
 
       CALL IO_def_dim (fileID, 'lon', grid_hd%nlon, xdimid)
diff --git a/code/src/mo_time_control.f90 b/code/src/mo_time_control.f90
index 2e13143b8a47069f4daabc1ed983c17ffe36045e..58669c221e59ad8165e94ae94ad13258efb22504 100644
--- a/code/src/mo_time_control.f90
+++ b/code/src/mo_time_control.f90
@@ -405,6 +405,7 @@ MODULE mo_time_control
   PUBLIC :: calc_nstep      ! Calculate the number of time steps between two ISO dates & times
   PUBLIC :: update_regular_restart  ! Updates the time step number nstep_rest 
                                     ! when the next regular restart file shall be written
+  PUBLIC :: calc_current_end_date   ! Calculate the date/time at the end of the current time step 
 
 CONTAINS
   !+
@@ -2473,6 +2474,26 @@ CONTAINS
 
   END SUBROUTINE update_regular_restart
 
+  !*****************************************************************************
+  SUBROUTINE calc_current_end_date(ymd_end, hms_end)
+  !*****************************************************************************
+
+    ! Calculate the date ymd_end and time hms_end at the end current date time step
+
+    INTEGER, INTENT(out)          :: ymd_end, hms_end
+
+    TYPE(time_days) :: date1
+    INTEGER :: i0 = 0
+    INTEGER :: idt
+
+    idt = NINT(delta_time)
+
+    date1 = current_date
+    CALL add_date(i0, idt, date1)
+    CALL out_convert_date (date1, ymd_end, hms_end)
+
+  END SUBROUTINE calc_current_end_date
+
   !+
   ! ------------------------------------------------------------------------------
   !
diff --git a/scr/hd_run_settings.ksh b/scr/hd_run_settings.ksh
index da34786abe9f5b1fb18393927f0f27d5ea0e5ac1..a131053f2a8d9f017174de426a8da55c6cb42944 100644
--- a/scr/hd_run_settings.ksh
+++ b/scr/hd_run_settings.ksh
@@ -49,7 +49,7 @@ IWORK=1            # Run time: 1=1 year, 2=1 month, 3=year with 30 day months
 nday_final=212     # Jan-July: 90+91+31
 ndate_end=20210731 # end date of run for IWORK=4
 
-irest_regular=2    # Regular writing of restart file (0=no, 1=annual, 2=monthly)
+#irest_regular=2    # Regular writing of restart file (0=no, 1=annual, 2=monthly)
 
 MM=01              # Start month
 # BIAS CORRECTION