Fix reporter restart logic and add test