Fix matrix setup in surface_map()
diff --git a/compositor.c b/compositor.c
index 9ca06b0..5af0a15 100644
--- a/compositor.c
+++ b/compositor.c
@@ -691,8 +691,9 @@
 {
 	struct wlsc_surface *es = (struct wlsc_surface *) surface;
 
-	wlsc_matrix_translate(&es->matrix, x, y, 0);
+	wlsc_matrix_init(&es->matrix);
 	wlsc_matrix_scale(&es->matrix, width, height, 1);
+	wlsc_matrix_translate(&es->matrix, x, y, 0);
 }
 
 static void