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


        super.mouseUpHandler(event);

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

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

                // trace("<<DGFocusIn ");
                return;
            }
            lastItemFocused = DisplayObject(event.target);
            // trace("subcomponent got focus ignoring");
            // trace("<<DGFocusIn ");
            return;
        }
        lastItemFocused = null;

        super.focusInHandler(event);

