                 }
                 
                 o = caretIndicator;
+				
+				// Let the caretIndicator inherit the layoutDirection
+				if (o is ILayoutDirectionElement)
+					ILayoutDirectionElement(o).layoutDirection = null;
                 
                 drawCaretIndicator(
                     o, item.x, rowInfo[rowData.rowIndex].y,

import mx.core.IFactory;
import mx.core.IFlexDisplayObject;
import mx.core.IInvalidating;
import mx.core.IUIComponent;
import mx.core.IUID;
import mx.core.IUITextField;

    {
        // this code is nearly duplicating UIComponent.validateDisplayList();
		
		oldLayoutDirection = layoutDirection;
		
        if (invalidateDisplayListFlag)
        {
            // Check if our parent is the top level system manager
