diff --git a/src/output/Internal.hxx b/src/output/Internal.hxx
index 8ca6b1276..68cb9abaf 100644
--- a/src/output/Internal.hxx
+++ b/src/output/Internal.hxx
@@ -313,6 +313,13 @@ public:
 		return command == Command::NONE;
 	}
 
+	/**
+	 * Caller must lock the mutex.
+	 */
+	bool IsBusy() const {
+		return IsOpen() && !IsCommandFinished();
+	}
+
 	/**
 	 * Caller must lock the mutex.
 	 */
diff --git a/src/output/MultipleOutputs.cxx b/src/output/MultipleOutputs.cxx
index 5cf7b0a40..c3d584652 100644
--- a/src/output/MultipleOutputs.cxx
+++ b/src/output/MultipleOutputs.cxx
@@ -138,7 +138,7 @@ MultipleOutputs::AllFinished() const
 {
 	for (auto ao : outputs) {
 		const std::lock_guard<Mutex> protect(ao->mutex);
-		if (ao->IsOpen() && !ao->IsCommandFinished())
+		if (ao->IsBusy())
 			return false;
 	}