diff --git a/ports/stm32/gccollect.c b/ports/stm32/gccollect.c
index 5c1bf1e06d6261e64e81c633a5573655997b2d48..f5a49b7d08cba9fa8863077d15eb1df68888f361 100644
--- a/ports/stm32/gccollect.c
+++ b/ports/stm32/gccollect.c
@@ -48,11 +48,7 @@ void gc_collect(void) {
     uintptr_t sp = gc_helper_get_regs_and_sp(regs);
 
     // trace the stack, including the registers (since they live on the stack in this function)
-    #if MICROPY_PY_THREAD
     gc_collect_root((void**)sp, ((uint32_t)MP_STATE_THREAD(stack_top) - sp) / sizeof(uint32_t));
-    #else
-    gc_collect_root((void**)sp, ((uint32_t)&_ram_end - sp) / sizeof(uint32_t));
-    #endif
 
     // trace root pointers from any threads
     #if MICROPY_PY_THREAD