             
             _source = value;
             sourceInvalid = true;
+            loadFailed = false;
             invalidateProperties();
             dispatchEvent(new Event("sourceChanged"));
         }

            // If we are loading new content we keep the old measured width/height to avoid
            // sizing to 0,0 for a frame unnecessarily. Otherwise we fall back to 0 unless
            // a preliminaryWidth/Height is set.
            var previousWidth:Number = (_source == null || _source == "") ? 0 : measuredWidth;
            var previousHeight:Number = (_source == null || _source == "") ? 0 : measuredHeight;
            
            measuredWidth = !isNaN(_preliminaryWidth) && (previousWidth == 0) ? 
                _preliminaryWidth : previousWidth;

        // clear any current image and remove any event listeners from 
        // load-event  dispatcher.
        setBitmapData(null);
        loadFailed = true;
    }
    
    /**
