diff --git a/src/caldate.f90 b/src/caldate.f90
index a700cb44276242901dea213b624b89fbdd8e3247..81db3385059f4b5d0900c07dd31d10e27cc59fd2 100644
--- a/src/caldate.f90
+++ b/src/caldate.f90
@@ -26,6 +26,8 @@ subroutine caldate(juldate,yyyymmdd,hhmiss)
   !     Constants:                                                             *
   !     igreg          help constant                                           *
   !                                                                            *
+  !     PS 2020-07-27: add a check to avoid giving back 240000 for hhmiss      *
+  !                                                                            *
   !*****************************************************************************
 
   use par_mod, only: dp
@@ -38,6 +40,11 @@ subroutine caldate(juldate,yyyymmdd,hhmiss)
   integer,parameter :: igreg=2299161
 
   julday=int(juldate)
+! PS check to avoid 240000 as hhmiss:  
+  if ((xjuldate-julday)*86400._dp .ge. 86399.5_dp) then
+    juldate = juldate + juldate-julday-86399.5_dp/86400._dp
+    julday=int(juldate)
+  end
   if(julday.ge.igreg)then
     jalpha=int(((julday-1867216)-0.25)/36524.25)
     ja=julday+1+jalpha-int(0.25*jalpha)