Multiple Nokia LCDs

Hi there, so i've been working away and have made some progress, but now am completely stumped. I've been working with the Adafruit library and GFX library in order to simplify my code. I've linked up the screens to separate SCE pins to send the different data, and have called th 3 different screens at the start of the code Adafruit PCD display_1......display_2 etc.

This all makes sense logically, and works on the screens as individual entities. HOWEVER, when I add the screens together, only the last screen in the series displays what I want. It seems by calling "display_2.begin();" it removes any data travelling to screen 1. I've pasted my code below, but I was wondering if anyone knows why you can only seem to send data to one screen?

#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// pin 3 - Serial clock out (SCLK)     - (green wire)
// pin 4 - Serial data out (DIN)       - (blue wire)
// pin 5 - Data/Command select (D/C)   - (white wire)
// pin 6 - LCD reset (RST)             - (yellow wire)
// pin 7 - LCD Pin Data_screen 1 (SCE)          
// pin 8 - LCD Pin Data_screen 2 (SCE)
// pin 9 - LCD Pin Data_screen 3 (SCE)


#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2


#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH  16

static unsigned char PROGMEM logo16_glcd_bmp[] =
{ B00000000, B11000000,
  B00000001, B11000000,
  B00000001, B11000000,
  B00000011, B11100000,
  B11110011, B11100000,
  B11111110, B11111000,
  B01111110, B11111111,
  B00110011, B10011111,
  B00011111, B11111100,
  B00001101, B01110000,
  B00011011, B10100000,
  B00111111, B11100000,
  B00111111, B11110000,
  B01111100, B11110000,
  B01110000, B01110000,
  B00000000, B00110000 };

Adafruit_PCD8544 display1 = Adafruit_PCD8544(3, 4, 5, 7, 6);
Adafruit_PCD8544 display2 = Adafruit_PCD8544(3, 4, 5, 8, 6);
Adafruit_PCD8544 display3 = Adafruit_PCD8544(3, 4, 5, 9, 6);


void setup()   {
  Serial.begin(9600);
  
  display1.begin();
  display2.begin();
  display3.begin();
  display1.setContrast(50);
  display2.setContrast(50);
  display3.setContrast(50);
}

void loop() {
  
  display1.setTextSize(1);
  display1.setTextColor(BLACK);
  display1.setCursor(0,0);
  display1.println("A");
  display1.fillCircle(display1.width()/2, display1.height()/2, 5, BLACK);
  display1.display();
  delay(100);
  display1.clearDisplay();
  
  display2.setTextSize(1);
  display2.setTextColor(BLACK);
  display2.setCursor(0,0);
  display2.println("B");
  display2.fillCircle(display2.width()/2, display2.height()/2, 10, BLACK);
  display2.display();
  delay(100);
  display2.clearDisplay();
  
  display3.setTextSize(1);
  display3.setTextColor(BLACK);
  display3.setCursor(0,0);
  display3.println("C");
  display3.fillCircle(display3.width()/2, display3.height()/2, 15, BLACK);
  display3.display();
  delay(100);
  display3.clearDisplay();
}

Much appreciated

B