Avoid calling allow_migrate if unneeded

It will simply avoid a function call and potential logic in
`allow_migrate` if there is no need to