Call Advance at the start of each timing slice instead of the end. Possibly fixed a bug where a slice would randomly branch straight back to Advance() because the flags were not set to the right values before branching to the dispatcher entrypoint.