fix async state restore mixup