                     newColumn = 0;
                     newRow++;
                 }
+                else if (arrowKeysWrapFocus && newColumn == columnCount - 1 && inRows && newRow == rowCount - 1)
+                {
+                    newColumn = 0;
+                    newRow = 0;
+                }
                 else
                     newColumn++;
                 break;

                }
                break; 
            }
            default: return super.getNavigationDestinationIndex(currentIndex, navigationUnit);
        }

        // Make sure rows and columns are within range

                if (newRow == rowCount - 1 && !inRows && newColumn < columnCount - 1)
                {
                    newColumn++;
                    newRow = 0;
                }
                else if (arrowKeysWrapFocus && newRow == rowCount - 1 && !inRows && newColumn == columnCount - 1)
                {
                    newColumn = 0;
                    newRow = 0;
                }
                else
