                 && 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;
             }

                if (!c.visible)
                    continue;

                item = c.getMeasuringRenderer(true, c);
                if (DisplayObject(item).parent == null)
                    listContent.addChild(DisplayObject(item));
                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 || itemRendererContains(lastItemDown, lastItemFocused)))
        {
            lastItemFocused = null;
            pos = itemRendererToIndices(r);

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