yeah sorry, i still can't get your patch to work either, even with the 'for' abstraction.
but i have attached an example of the glitch i have. after re-reading you post and looking at the bits of your patch which do work, i think it might be a different bug, but may possibly be related.
anyway...example is attached