When deleting the match, w:old_cword has to be unset as well. Otherwise it can happen that it is not properly readded (e.g. when moving from a word to an empty line and then back to the same word).
When deleting the match, w:old_cword has to be unset as well. Otherwise it can happen that it is not properly readded (e.g. when moving from a word to an empty line and then back to the same word).