diff --git a/py/builtin.h b/py/builtin.h
index 933776f53bab9f3594e8666509b506a4734aa9a3..e49e839a62e16954a96211c98635270b0778a3b9 100644
--- a/py/builtin.h
+++ b/py/builtin.h
@@ -1,6 +1,7 @@
 mp_obj_t mp_builtin___import__(int n_args, mp_obj_t *args);
 
 MP_DECLARE_CONST_FUN_OBJ(mp_builtin___build_class___obj);
+MP_DECLARE_CONST_FUN_OBJ(mp_builtin___import___obj);
 MP_DECLARE_CONST_FUN_OBJ(mp_builtin___repl_print___obj);
 MP_DECLARE_CONST_FUN_OBJ(mp_builtin_abs_obj);
 MP_DECLARE_CONST_FUN_OBJ(mp_builtin_all_obj);
diff --git a/py/builtinimport.c b/py/builtinimport.c
index 35e7dcbb8871457c422e3f6cdeecb1f950a258fa..a5deed392445c99fe609f5b24fcd7e176c4bee37 100644
--- a/py/builtinimport.c
+++ b/py/builtinimport.c
@@ -95,3 +95,4 @@ mp_obj_t mp_builtin___import__(int n_args, mp_obj_t *args) {
 
     return module_obj;
 }
+MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin___import___obj, 1, 5, mp_builtin___import__);
diff --git a/py/qstrdefs.h b/py/qstrdefs.h
index b273ac4450956a01b7713860cb51201c6f5570d5..b246c5b427dea3b51494c2729dd8a184cd4f3afc 100644
--- a/py/qstrdefs.h
+++ b/py/qstrdefs.h
@@ -4,6 +4,7 @@
 Q(__build_class__)
 Q(__class__)
 Q(__doc__)
+Q(__import__)
 Q(__init__)
 Q(__locals__)
 Q(__main__)
diff --git a/py/runtime.c b/py/runtime.c
index 836a07254c779ad6be9ed09f21f080415cb5da97..74c55ea6cb1e0925b4d80450aecb830b0b0714d6 100644
--- a/py/runtime.c
+++ b/py/runtime.c
@@ -110,6 +110,7 @@ void rt_init(void) {
 
     // built-in core functions
     mp_map_add_qstr(&map_builtins, MP_QSTR___build_class__, (mp_obj_t)&mp_builtin___build_class___obj);
+    mp_map_add_qstr(&map_builtins, MP_QSTR___import__, (mp_obj_t)&mp_builtin___import___obj);
     mp_map_add_qstr(&map_builtins, MP_QSTR___repl_print__, (mp_obj_t)&mp_builtin___repl_print___obj);
 
     // built-in types