         if (indexToRenderer.length > index)
             indexToRenderer.splice(index, 1);
         
+        if (oldRenderer)
+        {
         dispatchEvent(new RendererExistenceEvent(
             RendererExistenceEvent.RENDERER_REMOVE, false, false, oldRenderer, index, item));
         

        var child:DisplayObject = oldRenderer as DisplayObject;
        if (child)
            super.removeChild(child);
        
        invalidateSize();
        invalidateDisplayList();

                virtualRendererIndices.splice(vrItemIndex, 1);
        }
        
        // Remove the old renderer at index (if any) from indexToRenderer[], from the
        // DataGroup, and clear its data property (if any).
        
        const oldRenderer:IVisualElement = indexToRenderer[index];
