diff --git a/src/path/Curve.js b/src/path/Curve.js
index fd2aef38..8af44475 100644
--- a/src/path/Curve.js
+++ b/src/path/Curve.js
@@ -582,21 +582,14 @@ var Curve = this.Curve = Base.extend(/** @lends Curve# */{
 				c1x = v[2], c1y = v[3],
 				c2x = v[4], c2y = v[5],
 				p2x = v[6], p2y = v[7],
-
 				ux = 3 * c1x - 2 * p1x - p2x,
 				uy = 3 * c1y - 2 * p1y - p2y,
 				vx = 3 * c2x - 2 * p2x - p1x,
-				vy = 3 * c2y - 2 * p2y - p1y;
-			ux *= ux;
-			uy *= uy;
-			vx *= vx;
-			vy *= vy;
-			if (ux < vx)
-				ux = vx;
-			if (uy < vy)
-				uy = vy;
+				vy = 3 * c2y - 2 * p2y - p1y,
+				tol = Numerical.TOLERNACE;
 			// Tolerance is 16 * tol ^ 2
-			return ux + uy <= 16 * Numerical.TOLERNACE * Numerical.TOLERNACE;
+			return Math.max(ux * ux, vx * vx) + Math.max(uy * uy, vy * vy)
+					<= 16 * tol * tol;
 		}
 	}
 }, new function() { // Scope for methods that require numerical integration