diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp
index c6f35a3135..0fd1749acc 100644
--- a/test/camera/buffer_import.cpp
+++ b/test/camera/buffer_import.cpp
@@ -55,7 +55,12 @@ protected:
 
 		completeRequestsCount_++;
 
-		request->reuse(Request::ReuseBuffers);
+		for (const auto &[stream, buffer] : request->buffers())
+			camera_->addBuffer(stream, buffer);
+
+		request->reuse();
+		request->enableStream(config_->at(0).stream(), true);
+
 		camera_->queueRequest(request);
 
 		dispatcher_->interrupt();
@@ -98,17 +103,14 @@ protected:
 		if (ret != TestPass)
 			return ret;
 
-		for (const std::unique_ptr<FrameBuffer> &buffer : source.buffers()) {
+		for ([[maybe_unused]] const auto &buffer : source.buffers()) {
 			std::unique_ptr<Request> request = camera_->createRequest();
 			if (!request) {
 				std::cout << "Failed to create request" << std::endl;
 				return TestFail;
 			}
 
-			if (request->addBuffer(stream, buffer.get())) {
-				std::cout << "Failed to associating buffer with request" << std::endl;
-				return TestFail;
-			}
+			request->enableStream(stream, true);
 
 			requests_.push_back(std::move(request));
 		}
@@ -124,6 +126,13 @@ protected:
 			return TestFail;
 		}
 
+		for (const std::unique_ptr<FrameBuffer> &buffer : source.buffers()) {
+			if (camera_->addBuffer(stream, buffer.get())) {
+				std::cout << "Failed to add buffer" << std::endl;
+				return TestFail;
+			}
+		}
+
 		for (std::unique_ptr<Request> &request : requests_) {
 			if (camera_->queueRequest(request.get())) {
 				std::cout << "Failed to queue request" << std::endl;
diff --git a/test/camera/camera_reconfigure.cpp b/test/camera/camera_reconfigure.cpp
index ae9941c16b..0688a24582 100644
--- a/test/camera/camera_reconfigure.cpp
+++ b/test/camera/camera_reconfigure.cpp
@@ -46,8 +46,12 @@ private:
 		if (request->status() != Request::RequestComplete)
 			return;
 
-		/* Reuse the request and re-queue it with the same buffers. */
-		request->reuse(Request::ReuseBuffers);
+		for (const auto &[stream, buffer] : request->buffers())
+			camera_->addBuffer(stream, buffer);
+
+		request->reuse();
+		request->enableStream(config_->at(0).stream(), true);
+
 		camera_->queueRequest(request);
 	}
 
@@ -80,17 +84,14 @@ private:
 			allocated_ = true;
 		}
 
-		for (const unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
+		for ([[maybe_unused]] const auto &buffer : allocator_->buffers(stream)) {
 			unique_ptr<Request> request = camera_->createRequest();
 			if (!request) {
 				cerr << "Failed to create request" << endl;
 				return TestFail;
 			}
 
-			if (request->addBuffer(stream, buffer.get())) {
-				cerr << "Failed to associate buffer with request" << endl;
-				return TestFail;
-			}
+			request->enableStream(stream, true);
 
 			requests_.push_back(std::move(request));
 		}
@@ -102,6 +103,13 @@ private:
 			return TestFail;
 		}
 
+		for (const unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
+			if (camera_->addBuffer(stream, buffer.get())) {
+				cerr << "Failed to add buffer" << endl;
+				return TestFail;
+			}
+		}
+
 		for (unique_ptr<Request> &request : requests_) {
 			if (camera_->queueRequest(request.get())) {
 				cerr << "Failed to queue request" << endl;
diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp
index bc8cf4c59d..35ceabf87a 100644
--- a/test/camera/capture.cpp
+++ b/test/camera/capture.cpp
@@ -51,7 +51,12 @@ protected:
 
 		completeRequestsCount_++;
 
-		request->reuse(Request::ReuseBuffers);
+		for (const auto &[stream, buffer] : request->buffers())
+			camera_->addBuffer(stream, buffer);
+
+		request->reuse();
+		request->enableStream(config_->at(0).stream(), true);
+
 		camera_->queueRequest(request);
 
 		dispatcher_->interrupt();
@@ -99,17 +104,14 @@ protected:
 		if (ret < 0)
 			return TestFail;
 
-		for (const std::unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
-			std::unique_ptr<Request> request = camera_->createRequest();
+		for ([[maybe_unused]] const auto &buffer : allocator_->buffers(stream)) {
+			unique_ptr<Request> request = camera_->createRequest();
 			if (!request) {
 				cout << "Failed to create request" << endl;
 				return TestFail;
 			}
 
-			if (request->addBuffer(stream, buffer.get())) {
-				cout << "Failed to associate buffer with request" << endl;
-				return TestFail;
-			}
+			request->enableStream(stream, true);
 
 			requests_.push_back(std::move(request));
 		}
@@ -125,6 +127,13 @@ protected:
 			return TestFail;
 		}
 
+		for (const unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
+			if (camera_->addBuffer(stream, buffer.get())) {
+				cout << "Failed to add buffer" << endl;
+				return TestFail;
+			}
+		}
+
 		for (std::unique_ptr<Request> &request : requests_) {
 			if (camera_->queueRequest(request.get())) {
 				cout << "Failed to queue request" << endl;
diff --git a/test/camera/statemachine.cpp b/test/camera/statemachine.cpp
index 9c2b0c6a7d..97bd5344cd 100644
--- a/test/camera/statemachine.cpp
+++ b/test/camera/statemachine.cpp
@@ -150,9 +150,11 @@ protected:
 			return TestFail;
 
 		Stream *stream = *camera_->streams().begin();
-		if (request->addBuffer(stream, allocator_->buffers(stream)[0].get()))
+		if (camera_->addBuffer(stream, allocator_->buffers(stream)[0].get()))
 			return TestFail;
 
+		request->enableStream(stream, true);
+
 		if (camera_->queueRequest(request.get()))
 			return TestFail;
 
