diff --git a/src/io/uring/Queue.cxx b/src/io/uring/Queue.cxx
index f1f4080f3..3e7320216 100644
--- a/src/io/uring/Queue.cxx
+++ b/src/io/uring/Queue.cxx
@@ -104,14 +104,13 @@ Queue::WaitDispatchOneCompletion()
 }
 
 bool
-Queue::SubmitAndWaitDispatchOneCompletion(struct __kernel_timespec &timeout)
+Queue::SubmitAndWaitDispatchCompletions(struct __kernel_timespec &timeout)
 {
 	auto *cqe = ring.SubmitAndWaitCompletion(timeout);
 	if (cqe == nullptr)
 		return false;
 
-	DispatchOneCompletion(*cqe);
-	return true;
+	return DispatchCompletions(*cqe) > 0;
 }
 
 } // namespace Uring
diff --git a/src/io/uring/Queue.hxx b/src/io/uring/Queue.hxx
index a8e04bccc..e08615f4e 100644
--- a/src/io/uring/Queue.hxx
+++ b/src/io/uring/Queue.hxx
@@ -101,7 +101,7 @@ public:
 		while (WaitDispatchOneCompletion()) {}
 	}
 
-	bool SubmitAndWaitDispatchOneCompletion(struct __kernel_timespec &timeout);
+	bool SubmitAndWaitDispatchCompletions(struct __kernel_timespec &timeout);
 
 private:
 	static void _DispatchOneCompletion(const struct io_uring_cqe &cqe) noexcept;