See fiddle:

Steps to reproduce:
- SHIFT + select last item in grid (Marge)
- SHIFT + select first item in grid (Lisa)

The output in the console returns an unexpected value. I would have expected 'Lisa' to be the last item in the array and not 'Homer' (second to last).
Instead the last item in the selection appears as the second item in the array. Same value is returned when firing 'view.lastSelected.get('name')'.

This wouldn't have been such a problem if it was the same problem when working in a downwards direction. But in this downwards direction the last item (Marge) is actually the last item in the array.

I suppose I can intervene in one of the lower level functions such as doMultiSelect or onNavigate but I'd rather not as we are still working on 6.0.2 and try to avoid such patches.
However as you see this behavior is still in 6.5.3.

Is there some kind of workaround or quick fix we could apply?