diff --git a/src/output/Thread.cxx b/src/output/Thread.cxx
index b0556b34d..0d6f5e308 100644
--- a/src/output/Thread.cxx
+++ b/src/output/Thread.cxx
@@ -468,11 +468,11 @@ AudioOutputControl::Task() noexcept
 			if (always_on) {
 				/* in "always_on" mode, the output is
 				   paused instead of being closed;
-				   however we need to close the
+				   however we need to flush the
 				   AudioOutputSource because its data
 				   have been invalidated by stopping
 				   the actual playback */
-				source.Close();
+				source.Cancel();
 				InternalPause();
 			} else {
 				InternalClose(false);