diff --git a/py/modbuiltins.c b/py/modbuiltins.c
index be5d26ed5c6c27a286bc08d65448767f6ed57550..d1f99bb98de3223048b146b358308a71c324df98 100644
--- a/py/modbuiltins.c
+++ b/py/modbuiltins.c
@@ -217,7 +217,7 @@ STATIC mp_obj_t mp_builtin_dir(mp_uint_t n_args, const mp_obj_t *args) {
             }
         }
         if (mp_obj_is_instance_type(mp_obj_get_type(args[0]))) {
-            mp_obj_instance_t *inst = args[0];
+            mp_obj_instance_t *inst = MP_OBJ_TO_PTR(args[0]);
             members = &inst->members;
         }
     }