diff --git a/CommunityToolkit.WinUI.UI/AdvancedCollectionView/AdvancedCollectionView.cs b/CommunityToolkit.WinUI.UI/AdvancedCollectionView/AdvancedCollectionView.cs index c20423da1ea..d770b046f17 100644 --- a/CommunityToolkit.WinUI.UI/AdvancedCollectionView/AdvancedCollectionView.cs +++ b/CommunityToolkit.WinUI.UI/AdvancedCollectionView/AdvancedCollectionView.cs @@ -694,15 +694,22 @@ private bool HandleItemAdded(int newStartingIndex, object newItem, int? viewInde { for (int i = 0, j = 0; i < _source.Count; i++) { - if (i == newStartingIndex) + if (j < _view.Count - 1) { - newViewIndex = j; - break; + if (i == newStartingIndex) + { + newViewIndex = j; + break; + } + + if (_view[j] == _source[i]) + { + j++; + } } - - if (_view[j] == _source[i]) + else { - j++; + break; } } }