         decoratorDisplay = null;
     }
     
+    /**
+     *  @private
+     */
+    private function attachLoadingListenersToIconDisplay():void
+    {
+        if (iconDisplay)
+        {
+            iconDisplay.addEventListener(IOErrorEvent.IO_ERROR, iconDisplay_loadErrorHandler, false, 0, true);
+            iconDisplay.addEventListener(SecurityErrorEvent.SECURITY_ERROR, iconDisplay_loadErrorHandler, false, 0, true);
+        }
+    }
+    
+    /**
+     *  @private
+     *  Method is called when an IOError or SecurityError is dispatched
+     *  while trying to load the icon display.  The default implementation
+     *  sets the iconDisplay's source to the iconPlaceholder.
+     */ 
+    mx_internal function iconDisplay_loadErrorHandler(event:Event):void
+    {
+        iconDisplay.source = iconPlaceholder;
+    }
     
     /**
      *  @private

            if ((iconField || (iconFunction != null)) && !iconDisplay)
            {
                createIconDisplay();
            }
            else if (!(iconField || (iconFunction != null)) && iconDisplay)
            {

package spark.components
{
import flash.display.DisplayObject;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.events.TimerEvent;
import flash.net.URLRequest;
import flash.utils.Timer;

import mx.controls.listClasses.*;
import mx.core.DPIClassification;
import mx.core.FlexGlobals;
import mx.core.mx_internal;
import mx.graphics.BitmapFillMode;
import mx.graphics.BitmapScaleMode;
