                 localIndex.splice(removeLocation, 1);
             }
 
-            var addLocation:int = -1;
-			
-			if (filterFunction == null || filterFunction(item))
-				addLocation = addItemsToView([item], removeLocation, false);
+            var addLocation:int = addItemsToView([item], removeLocation, false);
 
             if (dispatch)
             {

                }
                localIndex = tmp;
            }
            if (sort)
            {
                sort.sort(localIndex);


            return -1;
        }
		else if (localIndex && sort)
		{
			var startIndex:int = findItem(item, Sort.FIRST_INDEX_MODE);
			if (startIndex == -1)
				return -1;
			
			var endIndex:int = findItem(item, Sort.LAST_INDEX_MODE);
			for (i = startIndex; i <= endIndex; i++)
			{
				if (localIndex[i] == item)
					return i;
			}
			
			return -1;
		}
		// List is sorted or filtered but refresh has not been called
		else if (localIndex)
		{
