diff --git a/esp8266/main.c b/esp8266/main.c
index 9cc955e44cc8513635b56b0c16db432201415dac..0224bed488ce6722afac74003edc18f7939fb750 100644
--- a/esp8266/main.c
+++ b/esp8266/main.c
@@ -34,6 +34,7 @@
 #include "py/stackctrl.h"
 #include "py/mphal.h"
 #include "py/gc.h"
+#include "lib/mp-readline/readline.h"
 #include "lib/utils/pyexec.h"
 #include "gccollect.h"
 #include "user_interface.h"
@@ -57,6 +58,7 @@ STATIC void mp_reset(void) {
     MP_STATE_PORT(mp_kbd_exception) = mp_obj_new_exception(&mp_type_KeyboardInterrupt);
     MP_STATE_PORT(term_obj) = MP_OBJ_NULL;
     pin_init0();
+    readline_init0();
 #if MICROPY_MODULE_FROZEN
     pyexec_frozen_module("_boot.py");
     pyexec_file("boot.py");