0.96" screen working/not working on different Arduinos

Hello all
Trust you all had a decent Christmas

I have a 0.96" 128x64 Oled screen. Usually used for debugging.

Had it connected to a Mega2560p and all worked fine.

Jumped the project over to a Pro Mini and now all I get is white noise all over the screen.
Used the correct pins (A4 and A5) for the I2C comms.

Checked the address and the the screen is found using my I2C scanner routine and it found it with the correct address 0x3c.

The I2C Bus has never needed pull-ups (although I have tried that.
Also tried a new screen and a new Pro Mini. Same result.

Made a simple routine here… works on the Mega, not on the Pro Mini.

Err… any ideas? (The I2C Bus has never needed pull-ups (although I have tried that)

    #include <Wire.h>
    #include <Adafruit_SSD1306.h>

    #define SCREEN_WIDTH 128 // OLED display width, in pixels
    #define SCREEN_HEIGHT 64 // OLED display height, in pixels
    #define OLED_RESET     4 // Reset pin # (or -1 if sharing Arduino reset pin)
    #define OLED_ADDR 0x3c 
    Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {

    display.begin(SSD1306_SWITCHCAPVCC, 0x3c);                                        //Initialize the display with the I2C addr 0x3c
    display.clearDisplay();                                                           //Clear the buffer.

    display.println("System online:");

void loop() {


of course, if you put:

display.display(); after the text, it would show the text.

Bangs head on desk....