diff --git a/src/diagnose.F90 b/src/diagnose.F90
index aadba09ee47b04e03ea6da1c4a4fbc2125cc4d3f..eb72690607685e84509d46ef2a95247908c5748d 100644
--- a/src/diagnose.F90
+++ b/src/diagnose.F90
@@ -262,7 +262,8 @@ SUBROUTINE diagnose(kstep)
      !   Close all diagnostic files
      CALL closef(fidres)
      IF (nsave_cp .GT. 0) THEN
-       CALL closef(fidrst)
+      CALL checkpoint_save(cp_counter)
+      CALL closef(fidrst)
      ENDIF
 
   END IF