diff --git a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
index a9787cf4d..eed47591b 100644
--- a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
+++ b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
@@ -355,16 +355,10 @@ try {
 			return;
 		}
 
-		if (!started) {
-			if (current_state != Status::PLAY)
-				/* don't bother starting the
-				   IAudioClient if we're
-				   paused */
-				continue;
-
-			Start(client);
-			started = true;
-		}
+		if (!started && current_state != Status::PLAY)
+			/* don't bother starting the IAudioClient if
+			   we're paused */
+			continue;
 
 		UINT32 write_in_frames = buffer_size_in_frames;
 		if (!is_exclusive) {
@@ -387,6 +381,11 @@ try {
 
 		AtScopeExit(&) {
 			render_client->ReleaseBuffer(write_in_frames, mode);
+
+			if (!started) {
+				Start(client);
+				started = true;
+			}
 		};
 
 		if (current_state == Status::PLAY) {