diff --git a/MediaBrowser.Server.Implementations/Playlists/PlaylistManager.cs b/MediaBrowser.Server.Implementations/Playlists/PlaylistManager.cs index 53c03b91c..ba1559bd0 100644 --- a/MediaBrowser.Server.Implementations/Playlists/PlaylistManager.cs +++ b/MediaBrowser.Server.Implementations/Playlists/PlaylistManager.cs @@ -247,15 +247,18 @@ namespace MediaBrowser.Server.Implementations.Playlists return; } - if (newIndex > oldIndex) - { - newIndex--; - } - var item = playlist.LinkedChildren[oldIndex]; playlist.LinkedChildren.Remove(item); - playlist.LinkedChildren.Insert(newIndex, item); + + if (newIndex >= playlist.LinkedChildren.Count) + { + playlist.LinkedChildren.Add(item); + } + else + { + playlist.LinkedChildren.Insert(newIndex, item); + } await playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false); }