     UINT measured = analogRead(mc_BattVolts);
     MeasuredVoltage = ((3.3 * measured) / 1023) * (32.0/10.0);
 
+#if (DEBUG & DEBUG_BATT)
+      Serial.printf(F("raw volts=%d\n"), measured);
+#endif
+
     // figure out which battery symbol to use
     if (MeasuredVoltage < MinVoltage)
+    {
         BatterySymbol = battunder;
+        if (MeasuredVoltage < 1.0)
+        {
+          BatterySymbol = battnone;
+        }
+    }
     else if (MeasuredVoltage > MaxVoltage)
         BatterySymbol = battover;
     else
     {
       int percent = (int) ((MeasuredVoltage - MinVoltage) / (MaxVoltage - MinVoltage) * 100.0);
       int batt_bucket = (int) (percent/20);
+      BatterySymbol = batt_syms[batt_bucket + 2];
 #if (DEBUG & DEBUG_BATT)
-      Serial.printf(F("volts=%f, percent=%d, batt_bucket=%d\n"), MeasuredVoltage, percent, batt_bucket);
-#endif
-      BatterySymbol = batt_syms[batt_bucket + 2];
+      Serial.printf(F("actual volts=%f, percent=%d, batt_bucket=%d\n"),
+                      MeasuredVoltage, percent, batt_bucket);
+#endif
     }
     display_battery();
   }

          break;
        case vfo_HoldClick:
          LcdBrightness = old_brightness;
          event_flush();
          return;
        default:

byte batt80[8]    = {0x0e,0x1f,0x11,0x1f,0x1f,0x1f,0x1f,0x1f};
byte batt100[8]   = {0x0e,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f};
byte battover[8]  = {0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f};
byte battnone[8]  = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

// array of references to the 8 'battery symbol' characters
byte *batt_syms[] = {battunder, batt00, batt20, batt40, batt60, batt80, batt100, battover, battnone};

//-----
// Events and the event queue.
