diff --git a/py/obj.c b/py/obj.c
index 660df4dfa19fb94e9f981c1518aaf891eb5bb741..76a4d8f9b2e56525c25cc10d80d350f078860cc1 100644
--- a/py/obj.c
+++ b/py/obj.c
@@ -66,12 +66,7 @@ void mp_obj_print_exception(mp_obj_t exc) {
 }
 
 bool mp_obj_is_callable(mp_obj_t o_in) {
-    if (!MP_OBJ_IS_OBJ(o_in)) {
-        return false;
-    } else {
-        mp_obj_base_t *o = o_in;
-        return o->type->call != NULL;
-    }
+    return mp_obj_get_type(o_in)->call != NULL;
 }
 
 machine_int_t mp_obj_hash(mp_obj_t o_in) {