         {
             var m:Matrix = computeMatrix();
             if (m)
-                width = getBBox(width / 2, height / 2, m).width;
+                width = MatrixUtil.getEllipseBoundingBox(width / 2, height / 2, width / 2, height / 2, m).width;
         }
 
         // Take stroke into account

    override public function getLayoutBoundsY(postTransform:Boolean = true):Number
    {
        var stroke:Number = - getStrokeExtents(postTransform).y * 0.5;
        var m:Matrix = postTransform ? computeMatrix() : null;
        if (!m)
            return stroke + this.y;
        return stroke + getBBox(width / 2, height / 2, m).y;
    }
}
}

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

import mx.utils.MatrixUtil;

/**
 *  The Ellipse class is a filled graphic element that draws an ellipse.
