                 stateName = selected ? "selectedDown" : "down";
             
             IStateClient(currentIcon).currentState = stateName;
+            if (currentIcon is IInvalidating)
+            	IInvalidating(currentIcon).validateNow();
         }
 
         // Show the new icon.

import flash.text.TextLineMetrics;
import flash.ui.Keyboard;
import flash.utils.Timer;
import mx.controls.dataGridClasses.DataGridListData;
import mx.controls.listClasses.BaseListData;
import mx.controls.listClasses.IDropInListItemRenderer;


        // Update the state of the skin if it accepts states and it implements the IStateClient interface.
        if (defaultSkinUsesStates && currentSkin is IStateClient)
        {
            IStateClient(currentSkin).currentState = stateName;
            if (currentSkin is IInvalidating)
            	IInvalidating(currentSkin).validateNow();
        }

        // Show the new skin.
        if (currentSkin)
