diff --git a/docs/labwc-config.5.scd b/docs/labwc-config.5.scd
index aff0e62a..d9f939fa 100644
--- a/docs/labwc-config.5.scd
+++ b/docs/labwc-config.5.scd
@@ -172,7 +172,7 @@ this is for compatibility with Openbox.
no
no
no
- no
+ yes
```
@@ -219,7 +219,13 @@ this is for compatibility with Openbox.
** [yes|no]
Keep XWayland alive even when no clients are connected, rather than
using a "lazy" policy that allows the server to launch on demand and die
- when it is no longer needed. Default is no.
+ when it is no longer needed. Default is yes.
+
+ This is only temporarily defaulting to yes to avoid a bug that is
+ present in wlroots <0.18.2 resulting in a compositor crash when
+ performing a drag-and-drop action at the same time as the XWayland
+ server is shutting down. This will be reverted to a default "no" when
+ wlroots-0.18.2 can be linked with.
Note: changing this setting requires a restart of labwc.
diff --git a/docs/rc.xml.all b/docs/rc.xml.all
index ae66fe4c..aa24838c 100644
--- a/docs/rc.xml.all
+++ b/docs/rc.xml.all
@@ -13,7 +13,7 @@
no
no
no
- no
+ yes
diff --git a/src/config/rcxml.c b/src/config/rcxml.c
index cb064fc0..a8cb9d3b 100644
--- a/src/config/rcxml.c
+++ b/src/config/rcxml.c
@@ -1088,6 +1088,17 @@ entry(xmlNode *node, char *nodename, char *content)
}
} else if (!strcasecmp(nodename, "xwaylandPersistence.core")) {
set_bool(content, &rc.xwayland_persistence);
+
+ /*
+ * TODO: Temporary warning message. Revert when wlroots-0.18.2
+ * can be linked with.
+ */
+ if (!rc.xwayland_persistence) {
+ wlr_log(WLR_ERROR, "setting xwaylandPersistence to 'no' "
+ "is not encouraged unless wlroots-0.18.2 is used "
+ "since it has a potential risk of crashing the "
+ "entire session. See #2371 for details.");
+ }
} else if (!strcasecmp(nodename, "x.cascadeOffset.placement")) {
rc.placement_cascade_offset_x = atoi(content);
} else if (!strcasecmp(nodename, "y.cascadeOffset.placement")) {
@@ -1452,7 +1463,7 @@ rcxml_init(void)
rc.adaptive_sync = LAB_ADAPTIVE_SYNC_DISABLED;
rc.allow_tearing = false;
rc.reuse_output_mode = false;
- rc.xwayland_persistence = false;
+ rc.xwayland_persistence = true;
init_font_defaults(&rc.font_activewindow);
init_font_defaults(&rc.font_inactivewindow);