         
         const columns:IList = grid.columns;
         const columnsLength:int = (columns) ? columns.length : 0;
+        const lastVisibleColumnIndex:int = grid.getPreviousVisibleColumnIndex(columnsLength);
         const rendererY:Number = paddingTop;
         const rendererHeight:Number = unscaledHeight - paddingTop - paddingBottom;
         const maxRendererX:Number = columnHeaderBar.horizontalScrollPosition + unscaledWidth;
         
         var columnIndex:int = -1;
         var visibleLeft:Number = 0;
-        var visibleRight:Number = 0;              
+        var visibleRight:Number = 0;
         
         // This isn't quite as simple as: 
         //     for each (var columnIndex:int in visibleColumnIndices)

        const paddingTop:Number = columnHeaderBar.getStyle("paddingTop");
        const paddingBottom:Number = columnHeaderBar.getStyle("paddingBottom");
        
        const isLastColumn:Boolean = columnIndex == (columns.length - 1);
        const rendererX:Number = grid.getCellX(0, columnIndex) + paddingLeft;
        const rendererY:Number = paddingTop;
        const rendererHeight:Number = columnHeaderBar.height - paddingTop - paddingBottom;

            
            // layout the renderer
            
            var isLastColumn:Boolean = columnIndex == lastVisibleColumnIndex;
            var rendererX:Number = grid.getCellX(0, columnIndex) + paddingLeft;
            var rendererWidth:Number = grid.getColumnWidth(columnIndex); 

