diff --git a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
index 7a58ffe2e..7092deb92 100644
--- a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
+++ b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
@@ -354,16 +354,23 @@ try {
 		event.Wait();
 
 		Status current_state = status.load();
-		if (current_state == Status::FINISH) {
+		switch (current_state) {
+		case Status::FINISH:
 			FormatDebug(wasapi_output_domain,
 				    "Working thread stopped");
 			return;
-		}
 
-		if (!started && current_state != Status::PLAY)
-			/* don't bother starting the IAudioClient if
-			   we're paused */
-			continue;
+		case Status::PAUSE:
+			if (!started)
+				/* don't bother starting the
+				   IAudioClient if we're paused */
+				continue;
+
+			break;
+
+		case Status::PLAY:
+			break;
+		}
 
 		UINT32 write_in_frames = buffer_size_in_frames;
 		if (!is_exclusive) {