diff --git a/sway/commands/layout.c b/sway/commands/layout.c index a32c908b8..10462bf16 100644 --- a/sway/commands/layout.c +++ b/sway/commands/layout.c @@ -136,7 +136,7 @@ struct cmd_results *cmd_layout(int argc, char **argv) { container = container->pending.parent; // If parent has only a singe child operate on its parent and // flatten once, like i3 - if (container && container->pending.children->length == 1) { + if (container && container->pending.children->length == 1 && container->pending.parent && container->pending.parent->pending.children->length == 1) { struct sway_container *child = container->pending.children->items[0]; struct sway_container *parent = container->pending.parent; container_replace(container, child);