diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index 23c0da295905..83073c28b817 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -642,6 +642,8 @@ int V4L2Device::releaseBuffers()
 {
 	LOG(V4L2, Debug) << "Releasing bufferPool";
 
+	streamOff();
+
 	requestBuffers(0);
 	bufferPool_ = nullptr;
 
