isSyncing was not getting reset, if, e.g., the listening was cancelled at some point.  

Reset it in endListening.