While I am answering my own question, I must give big credit to @PaulGhobril, who led me to understand the code. Still, the fix is pointing to my original suspicion, that there is a bug in the PIC RTCC module, which shows in a special case you need an alarm at xx:xx:00 seconds. It seems that both PIC documentation and Errata are wrong. The solution is to set the SECONDS alarm register to 'weird' value of 0x5A. Then the code works, no matter if I want every 1-minute or every 1-hour wake ups. This single line made it working: ``` ALRMSEC = 0x5A; // seconds // error in both MCU and ERRATA docs (if alarm needs to occur at 00 seconds - Errata said 0x0A, but needs 0x5A) ```