diff --git a/monitor.c b/monitor.c
index 4a9e8bbfae..dd85f847d7 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2583,6 +2583,8 @@ void monitor_init(CharDriverState *hd, int show_banner)
     hide_banner = !show_banner;
 
     qemu_chr_add_handlers(hd, term_can_read, term_read, term_event, NULL);
+
+    readline_start("", 0, monitor_handle_command1, NULL);
 }
 
 /* XXX: use threads ? */