diff --git a/transform.go b/transform.go
index 01b183bb036aaf43f7f1c46bc45cb4e6c47757bc..050733ed805abcaa2cda5eeb02e5cba33c231b72 100644
--- a/transform.go
+++ b/transform.go
@@ -94,6 +94,5 @@ func (t Transform) Mat3() mgl32.Mat3 {
 //
 // It is possible to apply additional rotations, scales and moves to the returned transform.
 func Camera(center, zoom, screenSize Vec) Transform {
-	scale := screenSize * zoom / 2
-	return Position(0).Anchor(center).ScaleXY(scale)
+	return Position(0).Anchor(center).ScaleXY(2 * zoom).ScaleXY(V(1/screenSize.X(), 1/screenSize.Y()))
 }