                 // the only reason we have this listener is to re-dispatch events.  So only add it here
                 // if someone's listening on us.
                 dataGroup.addEventListener(
-                    RendererExistenceEvent.RENDERER_ADD, dispatchEvent);
+                    RendererExistenceEvent.RENDERER_ADD, dataGroup_rendererAddChangeHandler);
             }
             
             if (hasEventListener(RendererExistenceEvent.RENDERER_REMOVE))

        return (dataGroup) ? 
            dataGroup.getVerticalScrollPositionDelta(scrollUnit) : 0;     
    }

    //--------------------------------------------------------------------------
    //

            }
        }
    }
    
    /**
     * @private
     */
    private function dataGroup_rendererAddChangeHandler(event:RendererExistenceEvent):void
    {
    	var renderer:Object = event.renderer;
        
        if (renderer is IVisualElement)
            IVisualElement(renderer).owner = this;
        
        if (renderer is IItemRenderer)
            IItemRenderer(renderer).labelText = itemToLabel(renderer.data);
        
        dispatchEvent(event);
    }
}

}
