      */
     public function transformPoint (point :Point) :Point
     {
-        return new Point(a*point.x + b*point.y + tx, c*point.x + d*point.y + ty);
+        return new Point(a*point.x + c*point.y + tx, b*point.x + d*point.y + ty);
     }
 
     /**

    {
        configure(a*m.a + b*m.c, a*m.b + b*m.d,
                  c*m.a + d*m.c, c*m.b + d*m.d,
                  a*m.tx + b*m.ty, c*m.tx + d*m.ty);
    }

    /**

    {
        var cs :Number = Math.cos(angle);
        var sn :Number = Math.sin(angle);
        concat(new Matrix(cs, sn, -sn, cs));
    }

    /**
     * Applies a scaling transformation to the matrix. The x axis is multiplied by sx,
     * and the y axis is multiplied by sy.
     */
    public function scale (sx :Number, sy :Number) :void
    {
