         if (focusObject.focusObj)
             focusObject.focusObj.visible = false;
        
+        // Ensure no 3D transforms apply, as this skews our snapshot bitmap.
+        var transform3D:Matrix3D = null;
+        if (focusObject.transform.matrix3D)
+        {
+            transform3D = focusObject.transform.matrix3D;  
+            focusObject.transform.matrix3D = null;
+        }
+        
         // Temporary solution for focus drawing on CheckBox and RadioButton components.
         // Hide the label before drawing the focus. 
         // FIXME (gruehle): Figure out a better solution.

        }
        
        bitmap.bitmapData = bitmapData;
    }
    
    private static var classDefCache:Object = {};

import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.geom.Matrix3D;

import mx.core.UIComponent;
import mx.core.mx_internal;
