Tiled Neomatrix on different pins - only first defined works

New result with less whitespace and both LED counts printing:

Number of LEDs in matrix1: 0 Number of LEDs in matrix2: 0

#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>


#define matrixWidth 16
#define matrixHeight  16
#define tilesX  2
#define tilesY  1

Adafruit_NeoMatrix matrix2 =  Adafruit_NeoMatrix(matrixWidth,matrixHeight, tilesX, tilesY, 4,  
  NEO_MATRIX_TOP   + NEO_MATRIX_RIGHT   + NEO_MATRIX_ROWS   + NEO_MATRIX_ZIGZAG +
  NEO_TILE_TOP + NEO_TILE_RIGHT + NEO_TILE_ROWS,
  NEO_GRB + NEO_KHZ800);
    
Adafruit_NeoMatrix matrix1 =  Adafruit_NeoMatrix(matrixWidth,matrixHeight, tilesX, tilesY, 2,  
  NEO_MATRIX_TOP   + NEO_MATRIX_RIGHT   + NEO_MATRIX_ROWS   + NEO_MATRIX_ZIGZAG +
  NEO_TILE_TOP + NEO_TILE_RIGHT + NEO_TILE_ROWS,
  NEO_GRB + NEO_KHZ800);

void setup() {

  // Start the serial interface
  Serial.begin(57600);
  
  matrix1.begin();
  matrix1.setTextWrap(false);
  matrix1.setBrightness(5);
  
  matrix2.begin();
  matrix2.setTextWrap(false);
  matrix2.setBrightness(5);

  uint16_t numLEDs1 = matrix1.numPixels();
  Serial.print("Number of LEDs in matrix1: ");
  Serial.print(numLEDs1);
  
  uint16_t numLEDs2 = matrix2.numPixels();
  Serial.print(" Number of LEDs in matrix2: ");
  Serial.print(numLEDs2);
}
 
void loop() {

showTop();
showBottom();

}

void showTop() {
  
  matrix1.fillScreen(matrix1.Color(0,128,0));
  matrix1.show();

}

void showBottom() {
  
  matrix2.fillScreen(matrix2.Color(0,0,128));
  matrix2.show();

}