fixed watch_swap