diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
index 58764b7c34d93f993e8d1022f1c49476f07caf2d..1dd5a5f896437e33dbaf74ee24951e7551d420ab 100644
--- a/hw/xwayland/xwayland-output.c
+++ b/hw/xwayland/xwayland-output.c
@@ -832,6 +832,8 @@ xwl_output_remove(struct xwl_output *xwl_output)
 
     xorg_list_del(&xwl_output->link);
 
+    RROutputSetConnection(xwl_output->randr_output, RR_Disconnected);
+
     xorg_list_for_each_entry(it, &xwl_screen->output_list, link)
         output_get_new_size(it, &width, &height);
     update_screen_size(xwl_output, width, height);