yup. That was the bug I had before, I was calling polish inside repaint(), which triggered another repaint() :)