Here's a patch. It works, but I don't like how un-future-proof it is. An uncareful coder can simply use (forward-word) somewhere and get things to break again. Is there a better way?