diff --git a/py/modgc.c b/py/modgc.c
index fe0f4a7e0bd2c0bb64c6a3744f08d6b9baaa7b86..c53eed235f91d541396776b7be24028e50c619e3 100644
--- a/py/modgc.c
+++ b/py/modgc.c
@@ -42,7 +42,7 @@ extern uint gc_collected;
 STATIC mp_obj_t py_gc_collect(void) {
     gc_collect();
 #if MICROPY_PY_GC_COLLECT_RETVAL
-    return MP_OBJ_NEW_SMALL_INT((uint)gc_collected);
+    return MP_OBJ_NEW_SMALL_INT((machine_uint_t)gc_collected);
 #else
     return mp_const_none;
 #endif