Index: uspace/lib/ui/src/window.c
===================================================================
--- uspace/lib/ui/src/window.c	(revision a927af7a94bc0a231b58cf501c89c9a899350c71)
+++ uspace/lib/ui/src/window.c	(revision d5f4459ba692b00d99d79ac8d052bbe4cb22265d)
@@ -840,8 +840,4 @@
 	}
 
-	/* Need to repaint UI if windows are emulated */
-	if (ui_is_fullscreen(window->ui))
-		(void)ui_paint(window->ui);
-
 	switch (scop) {
 	case ui_wsc_resize:
@@ -876,5 +872,15 @@
 errno_t ui_window_resize(ui_window_t *window, gfx_rect_t *rect)
 {
-	return ui_window_size_change(window, rect, ui_wsc_resize);
+	errno_t rc;
+
+	rc = ui_window_size_change(window, rect, ui_wsc_resize);
+	if (rc != EOK)
+		return rc;
+
+	/* Need to repaint UI if windows are emulated */
+	if (ui_is_fullscreen(window->ui))
+		(void)ui_paint(window->ui);
+
+	return EOK;
 }
 
@@ -1578,5 +1584,10 @@
 
 	window->normal_rect = old_rect;
-	(void) ui_window_paint(window);
+	ui_window_send_resize(window);
+
+	/* Need to repaint UI if windows are emulated */
+	if (ui_is_fullscreen(window->ui))
+		(void)ui_paint(window->ui);
+
 	return EOK;
 }
@@ -1603,5 +1614,10 @@
 	}
 
-	(void) ui_window_paint(window);
+	ui_window_send_resize(window);
+
+	/* Need to repaint UI if windows are emulated */
+	if (ui_is_fullscreen(window->ui))
+		(void)ui_paint(window->ui);
+
 	return EOK;
 }
