The root of the problem is that KnifeTool_OpData->colors was not init in some cases. But the reason is unknown as it seems to be random and the init function was always called. So instead on init the color only once, we query the colors each time we draw the knife points. The overhead of this approach is negligeable.