diff --git a/test/test_wrapper.py b/test/test_wrapper.py
index fa1e1d2714b477278da59df178eb6a8ea8b8b1f1..f7fa55eeaad67e0a9da6cf98281a5b6d17f4564d 100644
--- a/test/test_wrapper.py
+++ b/test/test_wrapper.py
@@ -551,17 +551,22 @@ def test_mempool(ctx_factory):
     pool.stop_holding()
 
 
-def test_mempool_2():
+def test_mempool_2(ctx_factory):
     from pyopencl.tools import MemoryPool
     from random import randrange
 
+    context = ctx_factory()
+    queue = cl.CommandQueue(context)
+
+    pool = MemoryPool(ImmediateAllocator(queue))
+
     for i in range(2000):
         s = randrange(1 << 31) >> randrange(32)
-        bin_nr = MemoryPool.bin_number(s)
-        asize = MemoryPool.alloc_size(bin_nr)
+        bin_nr = pool.bin_number(s)
+        asize = pool.alloc_size(bin_nr)
 
         assert asize >= s, s
-        assert MemoryPool.bin_number(asize) == bin_nr, s
+        assert pool.bin_number(asize) == bin_nr, s
         assert asize < asize*(1+1/8)