Thanks for reporting this, Catherine.
When I saw this was one of Bill's questions, I had a sinking feeling in my stomach that I'd broken something really fundamental!
But in fact, it turns out that the problem is that the student's ticks were being iterated over in the order that they'd be shown if there was no shuffling, by column and then by row (so all the ticks for the first answer, then all the ticks for the second column, and so on)
This isn't how I would read the grid: I'd read the displayed order by reading along the first row, then along the second column, down to the bottom-right entry. I've changed the marking algorithm to do that. Please have another go at this question, and tell me if it matches what you expect.