wrap marker redraw in defer

nick's fixes were close, this actually gets
things to behave properly for me