         {
             dispatchCaretChangeEvent();
             caretChanged = false;
+        }
+        
+        if (typicalItemChanged)
+        {
+            if (layout)
+                layout.typicalLayoutElement = null;
+            typicalItemChanged = false;
         }
     }
 

    //----------------------------------
    
    private var _typicalItem:Object = null;
    
    /**
     *  TBD: update this for Grid and add to the spec.
     * 

     */
    public function set typicalItem(value:Object):void
    {
        if (_typicalItem == value)
            return;
        
        typicalItem = value;
        typicalItemChanged = true;
        
        invalidateProperties();
        invalidateSize();
        invalidateDisplayList();
    }
        
    //--------------------------------------------------------------------------
