 
   // initialize 'char_x_offset' array
   int x_offset = FREQ_OFFSET_X;
-  for (int i = 0; i < NUM_F_CHAR; ++i)
+  for (int i = 0; i <= NUM_F_CHAR; ++i)
   {
     char_x_offset[i] = x_offset;
     x_offset += CHAR_WIDTH;

    if (event->event == event_None)
      break;

    Serial.printf("Event: %s\n", event2display(event));

    uint16_t x = event->x;
    uint16_t y = event->y;

    switch (event->event)
    {
      case event_Down:
        Serial.printf("event_Down: x=%d, y=%d\n", x, y);
        // see if DOWN is on a VFO frequency digit
        if (y < DEPTH_FREQ_DISPLAY + 30)    // a bit of 'slop' allowed
        {
          for (int i = 0; i < NUM_F_CHAR; ++i)
          {
            Serial.printf("i=%d, comparing x=%d against %d, %d\n", i, x, char_x_offset[i], char_x_offset[i+1]);
            if ((x > char_x_offset[i]) && (x < char_x_offset[i+1]))
            {
              // within char 'bucket'
