Reuse word snapshot to avoid invalid ranges

Close #563.