diff --git a/py/objgenerator.c b/py/objgenerator.c
index de2ecdd488f4290dd5fc846dd1e2aa351163abd9..8180185b94eebc5b506bd96596cbc17693c12979 100644
--- a/py/objgenerator.c
+++ b/py/objgenerator.c
@@ -99,10 +99,6 @@ void gen_instance_print(void (*print)(void *env, const char *fmt, ...), void *en
     print(env, "<generator object '%s' at %p>", mp_obj_code_get_name(self->code_info), self_in);
 }
 
-mp_obj_t gen_instance_getiter(mp_obj_t self_in) {
-    return self_in;
-}
-
 mp_vm_return_kind_t mp_obj_gen_resume(mp_obj_t self_in, mp_obj_t send_value, mp_obj_t throw_value, mp_obj_t *ret_val) {
     assert(MP_OBJ_IS_TYPE(self_in, &mp_type_gen_instance));
     mp_obj_gen_instance_t *self = self_in;
@@ -251,7 +247,7 @@ const mp_obj_type_t mp_type_gen_instance = {
     { &mp_type_type },
     .name = MP_QSTR_generator,
     .print = gen_instance_print,
-    .getiter = gen_instance_getiter,
+    .getiter = mp_identity,
     .iternext = gen_instance_iternext,
     .locals_dict = (mp_obj_t)&gen_instance_locals_dict,
 };
diff --git a/py/objmap.c b/py/objmap.c
index 232e611bd2a78e19a856275c34d5b5da970247ee..6e5c79017d0781938568347eafe79b672b497298 100644
--- a/py/objmap.c
+++ b/py/objmap.c
@@ -56,10 +56,6 @@ STATIC mp_obj_t map_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_
     return o;
 }
 
-STATIC mp_obj_t map_getiter(mp_obj_t self_in) {
-    return self_in;
-}
-
 STATIC mp_obj_t map_iternext(mp_obj_t self_in) {
     assert(MP_OBJ_IS_TYPE(self_in, &mp_type_map));
     mp_obj_map_t *self = self_in;
@@ -80,6 +76,6 @@ const mp_obj_type_t mp_type_map = {
     { &mp_type_type },
     .name = MP_QSTR_map,
     .make_new = map_make_new,
-    .getiter = map_getiter,
+    .getiter = mp_identity,
     .iternext = map_iternext,
 };