         
             case CollectionEventKind.REFRESH:
             {
-                // from a filter or sort...let's just reset everything          
+                // from a filter or sort...let's just reset everything
+                cleanUpDataProvider();
                 dataProviderChanged = true;
                 invalidateProperties();
                 break;

    {
        _itemRenderer = value;

        invalidateProperties();
        invalidateSize();
        invalidateDisplayList();
        
        itemRendererChanged = true;
        typicalItemChanged = true;

            
            case CollectionEventKind.RESET:
            {
                // reset everything
                cleanUpDataProvider();
                dataProviderChanged = true;
                invalidateProperties();
                break;
