         if (virtualLayoutUnderway)
         {
             finishVirtualLayout();
+            if(_layeringFlags & LAYERING_DIRTY)
+                manageDisplayObjectLayers();            
             virtualLayoutUnderway = false;
         }
     }


        if(_layeringFlags & LAYERING_DIRTY)
        {
            manageDisplayObjectLayers();
        }
        
        if (typicalItemChanged)

                insertIndex = index;
                
            // Quietly ignore invalid indices since they're typically caused
            // by duplicate data items and Halo quietly ignored those
            if ((insertIndex >= 0) && (insertIndex < super.numChildren)) 
                super.setChildIndex(child, insertIndex);
            return child;
        }
        else if (child.parent && child.parent is DataGroup)
