diff --git a/res/res_stasis_playback.c b/res/res_stasis_playback.c
index c6f21365bd72de3d38f8741436e93238bac8c205..ca0446b89eb398a871b35d7bdd34567111f40a4f 100644
--- a/res/res_stasis_playback.c
+++ b/res/res_stasis_playback.c
@@ -497,7 +497,11 @@ struct stasis_app_playback *stasis_app_control_play_uri(
 
 	    /* safe */
 		strcpy(media_uri, media[i]);
-		AST_VECTOR_APPEND(&playback->medias, media_uri);
+		if (AST_VECTOR_APPEND(&playback->medias, media_uri)) {
+			ao2_ref(playback, -1);
+			ast_free(media_uri);
+			return NULL;
+		}
 	}
 
 	if (skipms == 0) {