diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
index da2af6a1..1e33571c 100644
--- a/src/libcamera/v4l2_videodevice.cpp
+++ b/src/libcamera/v4l2_videodevice.cpp
@@ -190,6 +190,8 @@ V4L2BufferCache::~V4L2BufferCache()
 {
 	if (missCounter_ > cache_.size())
 		LOG(V4L2, Debug) << "Cache misses: " << missCounter_;
+
+	cache_.clear();
 }
 
 /**
