                 //if the property affects the sort, we'll need to move
                 updateEntry.move = updateEntry.move
                     || filterFunction != null
-                    || updateEntry.entireObjectChanged
+                    || updateEntry.objectReplacedWithAnother
                     || (sort && sort.propertyAffectsSort(String(updateInfo.property)));
             }
 

                updateEntry = updatedItems[i];
                if (updateEntry.move)
                {
                    if(updateEntry.entireObjectChanged)
                    {
                        removeItemsFromView([updateEntry.oldItem], -1, true);
                    }

                }
                else
                {
                    var oldOrNewValueSpecified:Boolean = updateInfo.oldValue != null || updateInfo.newValue != null;
                    var objectReplacedInCollection:Boolean = updateInfo.property == null && oldOrNewValueSpecified;
                    updateEntry = {item: item, move: defaultMove, events: [updateInfo],
                        objectReplacedWithAnother: objectReplacedInCollection, oldItem: updateInfo.oldValue};
                    updatedItems.push(updateEntry);
                }

