Rebased restart logic rewrite