diff --git a/geometry.go b/geometry.go
index 03b2feaf5daff5e4eb73c5e69a5daa8bbd4cb7a8..4680872612c88c16ea74ee93eb662736ca77a18c 100644
--- a/geometry.go
+++ b/geometry.go
@@ -405,7 +405,7 @@ func (m Matrix) Project(u Vec) Vec {
 func (m Matrix) Unproject(u Vec) Vec {
 	det := m[0]*m[3] - m[2]*m[1]
 	return Vec{
-		(m[3]*u.X - m[2]*u.Y + m[2]*m[5] - m[3]*m[4]) / det,
-		(-m[1]*u.X + m[0]*u.Y + m[1]*m[4] - m[0]*m[5]) / det,
+		(m[3]*(u.X-m[4]) - m[2]*(u.Y-m[5])) / det,
+		(-m[1]*(u.X-m[4]) + m[0]*(u.Y-m[5])) / det,
 	}
 }