The code doesn't cover the case where the item being added is in one of the existing list items, but is shorter in length. In this case the item to be added is different, but the code treats it as a duplicate and it will not be added. The corrected code is:
If InStr(1, lst.List(a), sItem, CaseSense) _
And Len(lst.List(a)) = Len(sItem) Then Exit Sub
jz