Serial1 reads what Serial1 writes

Hi,

I have a Pro Micro board (actually two of them both work the same).
I have created the following code:

void setup() {
  Serial.begin(9600);
  while (!Serial);
  Serial1.begin(9600);
  while (!Serial1);
}

void loop() {
  while(Serial.available()) {
    Serial1.write(Serial.read());
  }
  while(Serial1.available()) {
    Serial.print("Incoming on Serial1: ");
    Serial.println(Serial1.read());
  }
}

My problem is that when I write to Serial1 the next time I read from it I get back the value i wrote.

Is this normal behaviour or I misconfigured something?

try Serial.flush() after sending and / or before receiving

That is absolutely not normal behavior.

I don't suppose the TX and RX pins of serial1 are shorted to eachother? I assume they're connected to some external device - you sure that device is working? I would definitely not expect that to happen if you didn't have anything connected to the board....