diff --git a/esp8266/modutime.c b/esp8266/modutime.c
index 2274339dbf876f100917f85118045ab579c02445..356785d3a9fc321b5f572e379636476133951424 100644
--- a/esp8266/modutime.c
+++ b/esp8266/modutime.c
@@ -102,7 +102,11 @@ MP_DEFINE_CONST_FUN_OBJ_1(time_mktime_obj, time_mktime);
 /// \function sleep(seconds)
 /// Sleep for the given number of seconds.
 STATIC mp_obj_t time_sleep(mp_obj_t seconds_o) {
+    #if MICROPY_PY_BUILTINS_FLOAT
+    mp_hal_delay_ms(1000 * mp_obj_get_float(seconds_o));
+    #else
     mp_hal_delay_ms(1000 * mp_obj_get_int(seconds_o));
+    #endif
     return mp_const_none;
 }
 MP_DEFINE_CONST_FUN_OBJ_1(time_sleep_obj, time_sleep);