Calendar settings lost after each reboot

REPRODUCIBILITY (% or how often): after every reboot
BUILD ID = OS VERSION (Settings > About product): (and maybe before)
HARDWARE (XA2, X10, X10 II, …): X10 II
UI LANGUAGE: DE (but I think that does have no impact to the bug)
REGRESSION: (compared to previous public release: Yes, No, ?): It’s not that easy to roll back, but I think I saw this problem already with the stable 4.1


I switch off some calenders and after the next reboot they reappear.


Add an exchange account with multiple calenders.


  1. Open the calendar app
  2. Select “Manage calendars” (or similar, in German its called “Kalender verwalten”)
  3. Disable some calendars and go back
  4. The disabled calendars disappear
  5. Reboot the device
  6. The disabled calendars are back again


Disabled calendars should not be displayed no matter if I reboot my device or not.


Disabled calendars are shown again and enabled in the settings after reboot.


(Please ALWAYS attach relevant data such as logs, screenshots, etc…)

1 Like

I faced the same in 4.1 and persists in 4.2 also.

The problem persists in 4.3 (early access).

Is it for any account in particular or for various types of accounts (google, caldav, exchange…) ?

I can only reproduce this bug with my office365 exchange account (like mentioned in the first post).

Oops, sorry, indeed, I miss that info from the first post.

I’m afraid it’s a “feature” from Exchange. The server calendar visibilities is exported to the device. One should modify the source of the EAS plugin to apply the same solution than the one applied for colours : store last seen server visibility and apply it only if it changes, otherwise keep the device choice. I’ve done it for CalDAV colour issues and @flypig did the same for Google accounts. Sadly the EAS plugin is closed source and I cannot do anything for it.

See also :

Well that would be the worst case. I need all the calendars on my work device, but I only need a few of them on my personal device. It should be possible to override that locally.
Thanks for the link to the other thread, I must have missed that.