diff --git a/stm/main.c b/stm/main.c
index 636f900212957cef6f0920b3df0ee8bb46194db4..d7f2624c326e59787deda4cce8e6765f81780dc3 100644
--- a/stm/main.c
+++ b/stm/main.c
@@ -239,11 +239,10 @@ soft_reset:
     // Micro Python init
     qstr_init();
     mp_init();
-    mp_obj_t def_path[3];
-    def_path[0] = MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_);
-    def_path[1] = MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_src);
-    def_path[2] = MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_lib);
-    mp_sys_path = mp_obj_new_list(3, def_path);
+    mp_obj_list_init(mp_sys_path, 0);
+    mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_));
+    mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_lib));
+    mp_obj_list_init(mp_sys_argv, 0);
 
     exti_init();
 
diff --git a/stmhal/main.c b/stmhal/main.c
index efaf7caf9dfe99a1787a66318595efd9086309ae..2f40f140a012d8e5026d28462dff84e6ce17f8af 100644
--- a/stmhal/main.c
+++ b/stmhal/main.c
@@ -264,8 +264,9 @@ soft_reset:
     qstr_init();
     mp_init();
     mp_obj_list_init(mp_sys_path, 0);
-    mp_obj_list_append(mp_sys_argv, MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_));
-    mp_obj_list_append(mp_sys_argv, MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_lib));
+    mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_));
+    mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_lib));
+    mp_obj_list_init(mp_sys_argv, 0);
 
     readline_init();