diff --git a/res/res_stasis_playback.c b/res/res_stasis_playback.c
index a64ecffa706b52cf385ba10ca638fea459eb4494..cfddb3af56dcf5cae298fc5aa17be24dfcc91934 100644
--- a/res/res_stasis_playback.c
+++ b/res/res_stasis_playback.c
@@ -370,6 +370,9 @@ static void play_on_channel(struct stasis_app_playback *playback,
 
 		playback_final_update(playback, offsetms, res,
 			ast_channel_uniqueid(chan));
+		if (res == AST_CONTROL_STREAM_STOP) {
+			break;
+		}
 
 		/* Reset offset for any subsequent media */
 		offsetms = 0;