If anyone needs to work around this, just set the state once before the real time you set it. It only ever happens the first time. I'll need to troubleshoot further.