diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c
index caa9f84..2ff3dc8 100644
--- a/sys/v4l2/gstv4l2src.c
+++ b/sys/v4l2/gstv4l2src.c
@@ -768,6 +768,11 @@ gst_v4l2src_fill (GstPushSrc * src, GstBuffer * buf)
   GstClockTime abs_time, base_time, timestamp, duration;
   GstClockTime delay;
 
+  if (G_UNLIKELY (obj->pool == NULL)) {
+    ret = GST_FLOW_ERROR;
+    goto error;
+  }
+
   ret =
       gst_v4l2_buffer_pool_process (GST_V4L2_BUFFER_POOL_CAST (obj->pool), buf);
 
