only signal if we need to