diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h
index 093b94c6..763da63e 100644
--- a/include/libcamera/internal/pipeline_handler.h
+++ b/include/libcamera/internal/pipeline_handler.h
@@ -7,9 +7,9 @@
 #ifndef __LIBCAMERA_INTERNAL_PIPELINE_HANDLER_H__
 #define __LIBCAMERA_INTERNAL_PIPELINE_HANDLER_H__
 
-#include <list>
 #include <map>
 #include <memory>
+#include <queue>
 #include <set>
 #include <string>
 #include <sys/types.h>
@@ -44,7 +44,7 @@ public:
 	virtual ~CameraData() = default;
 
 	PipelineHandler *pipe_;
-	std::list<Request *> queuedRequests_;
+	std::deque<Request *> queuedRequests_;
 	ControlInfoMap controlInfo_;
 	ControlList properties_;
 
diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
index 0228d7b2..4cb58084 100644
--- a/src/libcamera/pipeline_handler.cpp
+++ b/src/libcamera/pipeline_handler.cpp
@@ -72,9 +72,9 @@ LOG_DEFINE_CATEGORY(Pipeline)
 
 /**
  * \var CameraData::queuedRequests_
- * \brief The list of queued and not yet completed request
+ * \brief The queue of queued and not yet completed request
  *
- * The list of queued request is used to track requests queued in order to
+ * The queue of queued request is used to track requests queued in order to
  * ensure completion of all requests when the pipeline handler is stopped.
  *
  * \sa PipelineHandler::queueRequest(), PipelineHandler::stop(),
