Fix the preconditions of move