      */ 
     private function addDisplayObjectToDisplayList(child:DisplayObject, index:int = -1):void
     {
+		var overlayCount:int = _overlay ? _overlay.numDisplayObjects : 0;
         if (child.parent == this)
-            super.setChildIndex(child, index != -1 ? index : super.numChildren - 1);
+            super.setChildIndex(child, index != -1 ? index : super.numChildren - 1 - overlayCount);
         else
-            super.addChildAt(child, index != -1 ? index : super.numChildren);
+            super.addChildAt(child, index != -1 ? index : super.numChildren - overlayCount);
     }
 
     /**

        
            if (isValidScaleGrid())
            {
                if (numChildren > 0)
                    throw new Error(resourceManager.getString("components", "scaleGridGroupError"));


import mx.styles.IStyleClient;
import mx.styles.StyleProtoChain;

import spark.components.supportClasses.DisplayPlane;
import spark.components.supportClasses.GroupBase;
import spark.core.DisplayObjectSharingMode;
import spark.core.IGraphicElement;
import spark.core.ISharedDisplayObject;
import spark.events.DisplayPlaneObjectExistenceEvent;
import spark.events.ElementExistenceEvent;
import spark.primitives.shaders.ColorBurnShader;
import spark.primitives.shaders.ColorDodgeShader;
import spark.primitives.shaders.ColorShader;
