diff --git a/src/c_wrapper/memory_object.cpp b/src/c_wrapper/memory_object.cpp
index 018d39a0d39feff8a4e2c11b8a9bf4390ac50575..1c199e7f454ba718d54965e941cb2a653906169c 100644
--- a/src/c_wrapper/memory_object.cpp
+++ b/src/c_wrapper/memory_object.cpp
@@ -96,13 +96,13 @@ memory_object__get_host_array(clobj_t _obj, void **hostptr, size_t *size)
         });
 }
 
-#if PYOPENCL_CL_VERSION >= 0x1020
 error*
 enqueue_migrate_mem_objects(clobj_t *evt, clobj_t _queue,
                             const clobj_t *_mem_obj, uint32_t num_mem_obj,
                             cl_mem_migration_flags flags,
                             const clobj_t *_wait_for, uint32_t num_wait_for)
 {
+#if PYOPENCL_CL_VERSION >= 0x1020
     const auto wait_for = buf_from_class<event>(_wait_for, num_wait_for);
     const auto mem_obj = buf_from_class<memory_object>(_mem_obj, num_mem_obj);
     auto queue = static_cast<command_queue*>(_queue);
@@ -110,37 +110,7 @@ enqueue_migrate_mem_objects(clobj_t *evt, clobj_t _queue,
             pyopencl_call_guarded(clEnqueueMigrateMemObjects, queue,
                                   mem_obj, flags, wait_for, event_out(evt));
         });
-}
-#endif
-
-#ifdef cl_ext_migrate_memobject
-error*
-enqueue_migrate_mem_object_ext(clobj_t *evt, clobj_t _queue,
-                               const clobj_t *_mem_obj, uint32_t num_mem_obj,
-                               cl_mem_migration_flags_ext flags,
-                               const clobj_t *_wait_for, uint32_t num_wait_for)
-{
-    const auto wait_for = buf_from_class<event>(_wait_for, num_wait_for);
-    const auto mem_obj = buf_from_class<memory_object>(_mem_obj, num_mem_obj);
-    auto queue = static_cast<command_queue*>(_queue);
-    return c_handle_error([&] {
-#if PYOPENCL_CL_VERSION >= 0x1020
-            // {{{ get platform
-            cl_device_id dev;
-            pyopencl_call_guarded(clGetCommandQueueInfo, queue, CL_QUEUE_DEVICE,
-                                  size_arg(dev), nullptr);
-            cl_platform_id plat;
-            pyopencl_call_guarded(clGetDeviceInfo, dev, CL_DEVICE_PLATFORM,
-                                  size_arg(plat), nullptr);
-            // }}}
+#else
+    PYOPENCL_UNSUPPORTED(clEnqueueMigrateMemObjects, "CL 1.1 and below")
 #endif
-            auto clEnqueueMigrateMemObjectEXT =
-                pyopencl_get_ext_fun(plat, clEnqueueMigrateMemObjectEXT);
-            retry_mem_error([&] {
-                    pyopencl_call_guarded(clEnqueueMigrateMemObjectsEXT, queue,
-                                          mem_obj, flags, wait_for,
-                                          event_out(evt));
-                });
-        });
 }
-#endif
diff --git a/src/c_wrapper/wrap_cl_core.h b/src/c_wrapper/wrap_cl_core.h
index 6ab9300a87a99a9e503df013c97d87cd1c8921b8..5d8b00efab884449195a8d77fdfd1ea112d2f665 100644
--- a/src/c_wrapper/wrap_cl_core.h
+++ b/src/c_wrapper/wrap_cl_core.h
@@ -239,17 +239,15 @@ error *enqueue_wait_for_events(clobj_t _queue, const clobj_t *_wait_for,
                                uint32_t num_wait_for);
 error *enqueue_marker(clobj_t *event, clobj_t queue);
 error *enqueue_barrier(clobj_t queue);
-/* FIXME reenable
 error *enqueue_migrate_mem_objects(clobj_t *evt, clobj_t _queue,
                                    const clobj_t *_mem_obj, uint32_t,
                                    cl_mem_migration_flags flags,
-                                   const clobj_t *_wait_for, uint32_t);
-error *enqueue_migrate_mem_object_ext(clobj_t *evt, clobj_t _queue,
-                                      const clobj_t *_mem_obj, uint32_t,
-                                      cl_mem_migration_flags_ext flags,
-                                      const clobj_t *_wait_for, uint32_t);
-*/
-// enqueue_*_buffer*
+                                   const clobj_t *_wait_for, uint32_t num_wait_for);
+
+// }}}
+
+// {{{ enqueue_*_buffer*
+
 error *enqueue_read_buffer(clobj_t *event, clobj_t queue, clobj_t mem,
                            void *buffer, size_t size, size_t device_offset,
                            const clobj_t *wait_for, uint32_t num_wait_for,