Index: uspace/srv/hid/compositor/compositor.c
===================================================================
--- uspace/srv/hid/compositor/compositor.c	(revision fa98b26a748eee56958a2e58ecc772de5507a6be)
+++ uspace/srv/hid/compositor/compositor.c	(revision 82edef2f5532d5ca29a1c05cbe6b80ccf84adbd2)
@@ -1117,9 +1117,13 @@
 	transform_t scale;
 	transform_identity(&scale);
-	transform_scale(&scale, win->fx, win->fy);
+	if (win->fx != 1 || win->fy != 1) {
+		transform_scale(&scale, win->fx, win->fy);
+	}
 
 	transform_t rotate;
 	transform_identity(&rotate);
-	transform_rotate(&rotate, win->angle);
+	if (win->angle != 0) {
+		transform_rotate(&rotate, win->angle);
+	}
 
 	transform_t transform;
@@ -1165,5 +1169,5 @@
 		}
 
-		if (scale || resize) {
+		if ((scale || resize) && (win->angle != 0)) {
 			transform_t rotate;
 			transform_identity(&rotate);
@@ -1182,8 +1186,10 @@
 		double _dx = dx;
 		double _dy = dy;
-		transform_t unrotate;
-		transform_identity(&unrotate);
-		transform_rotate(&unrotate, -win->angle);
-		transform_apply_linear(&unrotate, &_dx, &_dy);
+		if (win->angle != 0) {
+			transform_t unrotate;
+			transform_identity(&unrotate);
+			transform_rotate(&unrotate, -win->angle);
+			transform_apply_linear(&unrotate, &_dx, &_dy);
+		}
 		_dx = (pointer->grab_flags & GF_MOVE_X) ? -_dx : _dx;
 		_dy = (pointer->grab_flags & GF_MOVE_Y) ? -_dy : _dy;
@@ -1192,5 +1198,10 @@
 			double fx = 1.0 + (_dx / ((width - 1) * win->fx));
 			if (fx > 0) {
+#if ANIMATE_WINDOW_TRANSFORMS == 0
+				if (scale) win->fx *= fx;
+#endif
+#if ANIMATE_WINDOW_TRANSFORMS == 1
 				win->fx *= fx;
+#endif
 				scale_back_x *= fx;
 			}
@@ -1200,5 +1211,10 @@
 			double fy = 1.0 + (_dy / ((height - 1) * win->fy));
 			if (fy > 0) {
+#if ANIMATE_WINDOW_TRANSFORMS == 0
+				if (scale) win->fy *= fy;
+#endif
+#if ANIMATE_WINDOW_TRANSFORMS == 1
 				win->fy *= fy;
+#endif
 				scale_back_y *= fy;
 			}
@@ -1559,7 +1575,9 @@
 
 			surface_get_resolution(top->surface, &width, &height);
+#if ANIMATE_WINDOW_TRANSFORMS == 1
 			top->fx *= (1.0 / scale_back_x);
 			top->fy *= (1.0 / scale_back_y);
 			comp_recalc_transform(top);
+#endif
 
 			/* Commit proper resize action. */
