Fix wrong times, duplicates, and recurring events
Apply targeted checks to shifted meetings, duplicate events, and broken recurrence.
Updated · Applies to: ICS ViewerWrong time
Read the original DTSTART before editing:
- Ends in
Z: verify the UTC-to-local conversion. - Has
TZID: verify the identifier and daylight-saving rule for that date. - Has neither: confirm that floating local time was intended.
Compare one date in standard time and one in daylight time. Never convert a floating value or replace a zone without knowing the intended wall time.
Duplicate events
Determine where duplication began:
- Same
UIDin one file: inspect whether they are revisions or conflicting masters. - Different UIDs for the same meeting: the publisher may have regenerated identity.
- One file imported repeatedly: remove duplicates in the destination; changing source UIDs makes it worse.
- Import plus subscription: keep the intended source and remove the other calendar copy.
Do not deduplicate by title and time alone.
Missing or extra occurrences
Inspect the master DTSTART and RRULE, then RDATE, EXDATE, and every RECURRENCE-ID exception.
- Missing date: look for
EXDATEor a rule boundary. - Moved date appears twice: verify the exception uses the series UID and original recurrence ID.
- Orphan exception: locate the missing master before deleting anything.
- Endless series: add
COUNTorUNTILonly when the intended end is known.
Verify
Save the repair as a new version. Compare Events, Issues, and Source. Test the first occurrence, the changed occurrence, the final occurrence, and a daylight-saving boundary in the target client.

