                                                                LAYOUT_PROPERTY_FLAG, true);
             }
 
+            if (controlBarGroupProperties.visible !== undefined)
+            {
+                controlBarGroup.visible = controlBarGroupProperties.visible;
+                newControlBarGroupProperties = BitFlagUtil.update(newControlBarGroupProperties, 
+                                                               VISIBLE_PROPERTY_FLAG, true);
+            }
+
             controlBarGroupProperties = newControlBarGroupProperties;
         }
     }

            if (BitFlagUtil.isSet(controlBarGroupProperties as uint, LAYOUT_PROPERTY_FLAG))
                newControlBarGroupProperties.layout = controlBarGroup.layout;
            
            controlBarGroupProperties = newControlBarGroupProperties;

            controlBarGroup.mxmlContent = null;

    }

    //----------------------------------
    //  controlBarVisible
    //---------------------------------- 
    
    /**
     *  A flag that controls whether the controlBar is visible.
     *  The flag has no meaning if there is no controlBarContent.
     *  The Panel does not monitor the controlBarGroup so if some
     *  other code makes it invisible, the Panel may not update
     *  correctly
     *
     *  @default true
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public function get controlBarVisible():Boolean
    {
        return (controlBarGroup) 
            ? controlBarGroup.visible 
            : controlBarGroupProperties.visible;
    }

    public function set controlBarVisible(value:Boolean):void
    {
        if (controlBarGroup)
        {
            controlBarGroup.visible = value;
            controlBarGroupProperties = BitFlagUtil.update(controlBarGroupProperties as uint, 
                                                        VISIBLE_PROPERTY_FLAG, value);
        }
        else
            controlBarGroupProperties.visible = value;

        invalidateSkinState();
        skin.invalidateSize();
    }

    //----------------------------------
    //  titleField
    //---------------------------------- 
    
