Recurring Events Show Up Wrong After a Calendar Sync — Why, and What Helps
Updated 2026-07-04
A weekly stand-up lands an hour off. A series you edited shows old and new versions side by side. An occurrence you deleted reappears. Recurring events are where calendar feeds break in the messiest ways, because a single line — the recurrence rule — has to be interpreted the same by two systems that don't always agree.
What's actually going on
- RRULE meets the wrong time zone. A recurring event stores one start time plus an
RRULEthat generates every occurrence. If that anchor time is tagged with a Windows zone Google or Apple can't resolve (no matchingVTIMEZONE), every occurrence inherits the same offset error — so the whole series shifts by an hour or two, not just one meeting. Around daylight-saving changeovers the offset can differ before and after the switch, so part of a series moves and part doesn't. - Exceptions and deletions (
EXDATE/ overrides). When you delete or move a single occurrence, the feed records it as anEXDATEor a modified instance keyed to the original occurrence's exact date-time. If the time zone resolves differently in the destination, that key no longer matches any generated occurrence — so the deleted one comes back, or the moved one shows twice. - Stale copies. Re-importing a feed instead of subscribing, or keeping an old subscription alongside a new one, leaves two generations of the same series overlapping.
What helps
- Fix the time-zone definitions in the feed. Get the recurrence anchor and its exceptions resolving in a real IANA zone with a valid
VTIMEZONE, and the offset error that smears the whole series disappears — occurrences and theirEXDATEexceptions line up again. That's exactly what CalConverter does to an Outlook / Microsoft 365 feed.
Fix it in one step
Paste your Outlook calendar link and get a Google- and Apple-compatible URL instantly.
Convert my calendar- Subscribe once; don't stack copies. Remove any old import or subscription of the same calendar so you don't see two generations of a series at once.
Where we're honest about the limits
CalConverter repairs time-zone definitions — it does not rewrite your RRULEs. We don't change how often a series repeats, split it, or alter the recurrence pattern itself; we make the existing rule and its exceptions resolve in a correct time zone so both ends agree. If a series is genuinely wrong at the source (the recurrence pattern itself is set up wrong in Outlook), that has to be fixed in Outlook — no feed conversion can second-guess the intended rule.
Related
- Series that jump a whole day are usually the all-day variant of this — see Outlook all-day events show up one day early.
- A fixed hour offset on ordinary meetings, recurring or not → Google Calendar shows wrong times for Outlook events.