diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index d8ef3fd..f80088f 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -134,6 +134,12 @@
 		bool lowered;
 	} state;
 
+	struct {
+		bool is_set;
+		int32_t x;
+		int32_t y;
+	} xwayland;
+
 	int focus_count;
 
 	bool destroying;
@@ -2386,6 +2392,28 @@
 }
 
 static void
+set_position_from_xwayland(struct shell_surface *shsurf)
+{
+	struct weston_geometry geometry;
+	float x;
+	float y;
+
+	assert(shsurf->xwayland.is_set);
+
+	geometry = weston_desktop_surface_get_geometry(shsurf->desktop_surface);
+	x = shsurf->xwayland.x - geometry.x;
+	y = shsurf->xwayland.y - geometry.y;
+
+	weston_view_set_position(shsurf->view, x, y);
+
+#ifdef WM_DEBUG
+	weston_log("%s: XWM %d, %d; geometry %d, %d; view %f, %f\n",
+		   __func__, shsurf->xwayland.x, shsurf->xwayland.y,
+		   geometry.x, geometry.y, x, y);
+#endif
+}
+
+static void
 map(struct desktop_shell *shell, struct shell_surface *shsurf,
     int32_t sx, int32_t sy)
 {
@@ -2400,6 +2428,8 @@
 		shell_map_fullscreen(shsurf);
 	} else if (shsurf->state.maximized) {
 		set_maximized_position(shell, shsurf);
+	} else if (shsurf->xwayland.is_set) {
+		set_position_from_xwayland(shsurf);
 	} else {
 		weston_view_set_initial_position(shsurf->view, shell);
 	}
@@ -2784,6 +2814,18 @@
 	end_busy_cursor(shell->compositor, desktop_client);
 }
 
+static void
+desktop_surface_set_xwayland_position(struct weston_desktop_surface *surface,
+				      int32_t x, int32_t y, void *shell_)
+{
+	struct shell_surface *shsurf =
+		weston_desktop_surface_get_user_data(surface);
+
+	shsurf->xwayland.x = x;
+	shsurf->xwayland.y = y;
+	shsurf->xwayland.is_set = true;
+}
+
 static const struct weston_desktop_api shell_desktop_api = {
 	.struct_size = sizeof(struct weston_desktop_api),
 	.surface_added = desktop_surface_added,
@@ -2796,6 +2838,7 @@
 	.minimized_requested = desktop_surface_minimized_requested,
 	.ping_timeout = desktop_surface_ping_timeout,
 	.pong = desktop_surface_pong,
+	.set_xwayland_position = desktop_surface_set_xwayland_position,
 };
 
 /* ************************ *
