Retrieve 2 dimensional uint8_t data from PROGMEM

I'm trying to use PROGMEM to store a 2 dimensional array of uint8_t data. Declaring the array in global variable space works fine. Declaring it in PROGMEM returns wrong data. The working code and the PROGMEM test versions are included below.
Working version:

const uint8_t numDotBytes[5][5] =
{{126,129,129,129,126},
{0,130,255,128,0},
{130,193,161,145,142},
{66,129,137,137,118},
{24,20,18,255,16}};
void setup ()
  {
  Serial.begin (115200);
  Serial.println ();
  Serial.print (F("Array Element 3, 0 - 4 "));
  for (int i = 0; i < 5; i++) {
    Serial.print (numDotBytes[3][i]);Serial.print(",");
  }
 } 
void loop() {

}

This is the PROGMEM version:

extern const uint8_t numDotBytes[5][5] PROGMEM;
void setup ()
  {
  Serial.begin (115200);
  Serial.println ();
  Serial.print (F("Array Element 3, 0 - 4 "));
  for (int i = 0; i < 5; i++) {
    Serial.print (numDotBytes[3][i]);Serial.print(",");
  }
 }  
void loop() {
}
const uint8_t numDotBytes[5][5] PROGMEM =
{{126,129,129,129,126},
{0,130,255,128,0},
{130,193,161,145,142},
{66,129,137,137,118},
{24,20,18,255,16}};

What am I missing?

Stevepew51:
What am I missing?

pgm_read_byte()

Data in Program Space