     {
         _visible = value;
 
-        if (layer && !layer.computedVisibility)
+        if (designLayer && !designLayer.effectiveVisibility)
             value = false; 
         
         if (super.visible == value)

        {
            _alpha = value;
            
            if (layer)
                value = value * layer.computedAlpha; 
            
            super.alpha = value;
        }

     *  @private
     *  Storage for the layer property.
     */
    private var _designLayer:DesignLayer;
   
    [Inspectable (environment='none')]
 
    /**
     *  @copy mx.core.IVisualElement#designLayer
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public function get designLayer():DesignLayer
    {
        return _designLayer;
    }
    
    /**
     *  @private
     */
    public function set designLayer(value:DesignLayer):void
    {
        if (_designLayer)
            _designLayer.removeEventListener("layerPropertyChange", layer_PropertyChange, false);
        
        _designLayer = value;
        
        if (_designLayer)
        {
            _designLayer.addEventListener("layerPropertyChange", layer_PropertyChange, false, 0, true);
            super.alpha = _alpha * _designLayer.effectiveAlpha;
            super.visible = _visible && _designLayer.effectiveVisibility;
        }
    }

