It's possible the user frees or change the repository after a check for updates starts because synchronizing repositories isn't blocking. Resolve by using a copy of the repository when checking for updates, only applying updates if the copy still matches the preferences once the update is complete.