diff --git a/agb/src/agb_alloc/block_allocator.rs b/agb/src/agb_alloc/block_allocator.rs
index f9d1da00..c924cfc3 100644
--- a/agb/src/agb_alloc/block_allocator.rs
+++ b/agb/src/agb_alloc/block_allocator.rs
@@ -71,12 +71,6 @@ impl BlockAllocator {
         f(inner)
     }
 
-    #[doc(hidden)]
-    #[cfg(any(test, feature = "testing"))]
-    pub unsafe fn number_of_blocks(&self) -> u32 {
-        self.with_inner(|inner| inner.number_of_blocks())
-    }
-
     pub unsafe fn alloc(&self, layout: Layout) -> Option<NonNull<u8>> {
         self.with_inner(|inner| inner.alloc(layout))
     }
@@ -105,20 +99,6 @@ impl BlockAllocatorInner {
         }
     }
 
-    #[doc(hidden)]
-    #[cfg(any(test, feature = "testing"))]
-    pub unsafe fn number_of_blocks(&mut self) -> u32 {
-        let mut count = 0;
-
-        let mut list_ptr = &mut self.state.first_free_block;
-        while let Some(mut current) = list_ptr {
-            count += 1;
-            list_ptr = &mut current.as_mut().next;
-        }
-
-        count
-    }
-
     /// Requests a brand new block from the inner bump allocator
     fn new_block(&mut self, layout: Layout) -> Option<NonNull<u8>> {
         let overall_layout = Block::either_layout(layout);
diff --git a/agb/src/agb_alloc/bump_allocator.rs b/agb/src/agb_alloc/bump_allocator.rs
index 2c154d48..24a8a3de 100644
--- a/agb/src/agb_alloc/bump_allocator.rs
+++ b/agb/src/agb_alloc/bump_allocator.rs
@@ -1,10 +1,7 @@
-use core::alloc::{GlobalAlloc, Layout};
-use core::cell::RefCell;
+use core::alloc::Layout;
 use core::ptr::NonNull;
 
 use super::SendNonNull;
-use crate::interrupt::free;
-use bare_metal::Mutex;
 
 pub(crate) struct StartEnd {
     pub start: fn() -> usize,
@@ -16,10 +13,6 @@ pub(crate) struct BumpAllocatorInner {
     start_end: StartEnd,
 }
 
-pub(crate) struct BumpAllocator {
-    inner: Mutex<RefCell<BumpAllocatorInner>>,
-}
-
 impl BumpAllocatorInner {
     pub const fn new(start_end: StartEnd) -> Self {
         Self {
@@ -58,20 +51,3 @@ impl BumpAllocatorInner {
         NonNull::new(resulting_ptr as *mut _)
     }
 }
-
-impl BumpAllocator {
-    fn alloc_safe(&self, layout: Layout) -> Option<NonNull<u8>> {
-        free(|key| self.inner.borrow(key).borrow_mut().alloc(layout))
-    }
-}
-
-unsafe impl GlobalAlloc for BumpAllocator {
-    unsafe fn alloc(&self, layout: Layout) -> *mut u8 {
-        match self.alloc_safe(layout) {
-            None => core::ptr::null_mut(),
-            Some(p) => p.as_ptr(),
-        }
-    }
-
-    unsafe fn dealloc(&self, _ptr: *mut u8, _layout: Layout) {}
-}
diff --git a/agb/src/agb_alloc/mod.rs b/agb/src/agb_alloc/mod.rs
index 617786b1..8110ebe9 100644
--- a/agb/src/agb_alloc/mod.rs
+++ b/agb/src/agb_alloc/mod.rs
@@ -119,11 +119,6 @@ static __IWRAM_ALLOC: BlockAllocator = unsafe {
     })
 };
 
-#[cfg(any(test, feature = "testing"))]
-pub(crate) unsafe fn number_of_blocks() -> u32 {
-    GLOBAL_ALLOC.number_of_blocks()
-}
-
 fn iwram_data_end() -> usize {
     extern "C" {
         static __iwram_end: u8;
diff --git a/agb/src/lib.rs b/agb/src/lib.rs
index c7483b93..b334a7fe 100644
--- a/agb/src/lib.rs
+++ b/agb/src/lib.rs
@@ -306,12 +306,6 @@ pub mod test_runner {
             self(gba);
             mgba::test_runner_measure_cycles();
 
-            assert!(
-                unsafe { agb_alloc::number_of_blocks() } < 2,
-                "memory is being leaked, there are {} blocks",
-                unsafe { agb_alloc::number_of_blocks() }
-            );
-
             mgba.print(format_args!("[ok]"), mgba::DebugLevel::Info)
                 .unwrap();
         }