Don't dispose of services if they don't need disposing

Was causing random crashes intermittently because we were trying
to unbind services that were not bound.