         const r:Rectangle = visibleItemRenderersBounds;
         const width:Number = separator.getPreferredBoundsWidth();
         const height:Number = Math.max(r.height, visibleGridBounds.height); 
-        const bounds:Rectangle = gridDimensions.getColumnBounds(columnIndex);
-        
-        if (!bounds)
-            return;
-        
-        const x:Number = bounds.right; // TBD: should center on gap here.
+        const x:Number = gridDimensions.getCellX(0, columnIndex) + gridDimensions.getColumnWidth(columnIndex); // TBD: should center on gap here.
         const y:Number = r.y;
         layoutGridElement(separator, x, y, width, height);
     }

        
        for (var index:int = 0; index < newVisibleElementCount; index++) 
        {
            var newEltIndex:int = (index < newVisibleIndices.length) ? newVisibleIndices[index] : index;
            if (newEltIndex == lastIndex)
                break;
            
            // If an element already exists for visibleIndex then use it, otherwise create one
            
            var eltOffset:int = oldVisibleIndices.indexOf(newEltIndex);
            var elt:IVisualElement = (eltOffset != -1) ? oldVisibleElements[eltOffset] : null;
            if (elt == null)
                elt = allocateGridElement(factory);
            

                layoutGridElementR(indicator, bounds);
                container.addElement(indicator);  // add or move to the top
                indicator.visible = true;
        }
        
        return indicator;
    }
