             {
                 if (layerChildren[i] == value)
                 {
+                    value.parentChanged(null);
                     layerChildren.splice(i,1);
                     return;
                 }

        protected function effectiveVisibilityChanged(value:Boolean):void
        {
            dispatchEvent(new PropertyChangeEvent("layerPropertyChange", false, 
                false, PropertyChangeEventKind.UPDATE, "effectiveVisibility", !value, value));
            
            for (var i:int = 0; i < layerChildren.length; i++)
            {

        protected function effectiveAlphaChanged(oldAlpha:Number):void
        {
            dispatchEvent(new PropertyChangeEvent("layerPropertyChange", false, 
                false, PropertyChangeEventKind.UPDATE, "effectiveAlpha", 
                oldAlpha, effectiveAlpha));
            
            for (var i:int = 0; i < layerChildren.length; i++)
            {
