                 if (!c.visible)
                     continue;
 
-                item = c.getMeasuringRenderer(true, c);
+                item = c.cachedHeaderRenderer;
+                if (!item)
+                {
+                    item = createColumnItemRenderer(c, true, c);
+                    item.styleName = c;
+                    c.cachedHeaderRenderer = item;
+                }
                 if (DisplayObject(item).parent == null)
+                {
                     listContent.addChild(DisplayObject(item));
+                    item.visible = false;
+                }
                 rowData = DataGridListData(makeListData(c, uid, 0, c.colNum, c));
                 rowMap[item.name] = rowData;
                 if (item is IDropInListItemRenderer)


        super.mouseUpHandler(event);

        if (r && r != itemEditorInstance && lastItemDown == r)
        {
            pos = itemRendererToIndices(r);

            if (pos && pos.y >= 0 && editable && !dontEdit)

                && newSize > cw)
            {
                lastColumn.setWidth(newSize);
                maxHorizontalScrollPosition =
                    displayableColumns.length - visibleColumns.length;
            }
            else if (visibleColumns.length == 1 && 
                    lastColumn == displayableColumns[displayableColumns.length - 1])
            {
                maxHorizontalScrollPosition =
                    displayableColumns.length - visibleColumns.length;
            }
