anchor.diff:  
       rewind(cr_pntUnit(nPoint))
   
  -    write(crlog,"(a)") "CR_CHECK>  * SixTrack version"
  -    flush(crlog)
  -
  +    write(crlog,"(a)") "CR_CHECK>  * Checking header"
  +    flush(crlog)
       read(cr_pntUnit(nPoint),iostat=ioStat) cr_version,cr_moddate
  +    if(ioStat /= 0) then
  +      write(crlog,"(a)") "CR_CHECK> Corrupt or truncated checkpoint file."
  +      flush(crlog)
  +      cycle
  +    end if
       if(cr_version == " " .or. cr_moddate == " ") then
         write(crlog,"(a)") "CR_CHECK> Unknown SixTrack version. Skipping this file."
         flush(crlog)
  
positive.code:         end do
  
          ! This is not a FLUSH!
          endfile (91-ia,iostat=ierro)
          backspace (91-ia,iostat=ierro)
        else ! Number of ecords written to this file < general number of records written
            ! => Particle has been lost before last checkpoint, no need to reposition.
          write(crlog,"(2(a,i0))") "CR_CHECK> Ignoring IA ",ia," on unit ",iau
  
negative.code:     ! Second, copy crbinrecs(ia)*(crnapx/2) records of data from temp file to singletrackfile.dat
      rewind(tUnit)
      rewind(90)
      binrecs94 = 0
  
      ! Copy header
      do ia=1,crnapxo/2,1
  