diff --git a/src/c_wrapper/wrap_cl.cpp b/src/c_wrapper/wrap_cl.cpp
index b7d1ddb9aa6ad9eef9d5427048a4bd93bf1d102b..338738a78d72befb9016f23111a6f9a9d6cf0aa6 100644
--- a/src/c_wrapper/wrap_cl.cpp
+++ b/src/c_wrapper/wrap_cl.cpp
@@ -60,7 +60,7 @@ free_pointer_array(void **p, uint32_t size)
 intptr_t
 clobj__int_ptr(clobj_t obj)
 {
-    return obj->intptr();
+    return PYOPENCL_LIKELY(obj) ? obj->intptr() : 0l;
 }
 
 static PYOPENCL_INLINE clobj_t
@@ -110,6 +110,9 @@ error*
 clobj__get_info(clobj_t obj, cl_uint param, generic_info *out)
 {
     return c_handle_error([&] {
+            if (PYOPENCL_UNLIKELY(!obj)) {
+                throw clerror("NULL input", CL_INVALID_VALUE);
+            }
             *out = obj->get_info(param);
         });
 }