     {
         if (z == value)
             return;
+
+        // validateMatrix when switching between 2D/3D, works around player bug
+        // see sdk-23421 
+        var was3D:Boolean = is3D;
         if (_layoutFeatures == null)
             initAdvancedLayoutFeatures();
 
         _layoutFeatures.layoutZ = value;
         invalidateTransform();
         invalidateProperties();
+        if (was3D != is3D)
+            validateMatrix();
         dispatchEvent(new Event("zChanged"));
     }
 

        if (rotationY == value)
            return;

        if (_layoutFeatures == null)
            initAdvancedLayoutFeatures();
        _layoutFeatures.layoutRotationY = value;
        invalidateTransform();
        invalidateProperties();
        invalidateParentSizeAndDisplayList();
    }
                                
    //----------------------------------

     */
    public function set postLayoutTransformOffsets(value:TransformOffsets):void
    {
        // validateMatrix when switching between 2D/3D, works around player bug
        // see sdk-23421 
        var was3D:Boolean = is3D;

        if (_layoutFeatures == null)
            initAdvancedLayoutFeatures();
        
