diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
index 6f32521f3d6f..59379308d5b3 100644
--- a/src/libcamera/v4l2_videodevice.cpp
+++ b/src/libcamera/v4l2_videodevice.cpp
@@ -1841,7 +1841,7 @@ FrameBuffer *V4L2VideoDevice::dequeueBuffer()
 	 * Detect kernel drivers which do not reset the sequence number to zero
 	 * on stream start.
 	 */
-	if (!firstFrame_) {
+	if (!firstFrame_.has_value()) {
 		if (buf.sequence)
 			LOG(V4L2, Info)
 				<< "Zero sequence expected for first frame (got "
