As noted in !278 (merged) the blit code is difficult to understand and probably still has bugs in it.