diff --git a/hw/char/serial.c b/hw/char/serial.c
index a668249049..847dacc9c4 100644
--- a/hw/char/serial.c
+++ b/hw/char/serial.c
@@ -833,6 +833,7 @@ void serial_realize_core(SerialState *s, Error **errp)
                           serial_event, s);
     fifo8_create(&s->recv_fifo, UART_FIFO_LENGTH);
     fifo8_create(&s->xmit_fifo, UART_FIFO_LENGTH);
+    serial_reset(s);
 }
 
 void serial_exit_core(SerialState *s)