diff --git a/sc2/src/uqm/shipyard.c b/sc2/src/uqm/shipyard.c index 3a367338a..92cb7ac47 100644 --- a/sc2/src/uqm/shipyard.c +++ b/sc2/src/uqm/shipyard.c @@ -1040,8 +1040,11 @@ DoModifyShips (MENU_STATE *pMS) { // Moving horizontally through the escort ship slots, // wrapping around if necessary. - NewState = (pMS->CurState + HANGAR_SHIPS_ROW + dx) % - HANGAR_SHIPS_ROW; + BYTE row = pMS->CurState / HANGAR_SHIPS_ROW; + BYTE col = pMS->CurState % HANGAR_SHIPS_ROW; + + col = (col + HANGAR_SHIPS_ROW + dx) % HANGAR_SHIPS_ROW; + NewState = row * HANGAR_SHIPS_ROW + col; } if (select || cancel