First character invalid after powerdown

Using the LowPower library trying to do serial communication after going to sleep. The first character is invalid. Example code have tried a few things to try to get it to work. Any suggestions? This is using http://www.hobbytronics.co.uk/ardulog-rtc which is basically an uno

void loop() 
{
      Serial.begin(9600);
          Serial.println("Serial Started... going to sleep");
          Serial.flush();
      //Serial.end();    
    // Enter power down state for 8 s with ADC and BOD module disabled
    LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);  
    
    // Do something here
    //while(!Serial);
    //Serial.flush();
    Serial.println("Waking up");
    // Example: Read sensor, data logging, data transmission.
}

output: Serial Started... going to sleep «aking up Serial Started... going to sleep «aking up Serial Started... going to sleep

Somehow this works:

void setup()
{
    // No setup is required for this library
    Serial.begin(9600);
}

void loop() 
{
      //Serial.begin(9600);
          Serial.println("Serial Started... going to sleep");
          Serial.flush();
      //Serial.end();    
    // Enter power down state for 8 s with ADC and BOD module disabled
    LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);  
    
    // Do something here
    //while(!Serial);
    //Serial.flush();
    Serial.println("Waking up");
    // Example: Read sensor, data logging, data transmission.
}

Can someone explain why that fixed the issue?

Probably because you have the Serial.begin in loop() It only needs calling once so should be put in setup()