I've been confused about that detail for a while now. I thought that $-2 took the code back two bytes, not two instructions. And since one instruction has 14 bits in the Harvard architecture, I thought that the MCU or the compiler were rounding off. But experience trumps assumptions... so I trust you must be right.EDIT:
$-2 takes you back 2 instructions - is that what you want? It doesn't hurt here but just so you know.
I'm going to tweak the code with your suggestion, and see how it behaves.