diff --git a/sway/commands/layout.c b/sway/commands/layout.c
index 0cdac1b4..c13a2ef7 100644
--- a/sway/commands/layout.c
+++ b/sway/commands/layout.c
@@ -49,8 +49,8 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
 		} else if (strcasecmp(argv[0], "splitv") == 0) {
 			swayc_change_layout(parent, L_VERT);
 		} else if (strcasecmp(argv[0], "toggle") == 0 && argc == 2 && strcasecmp(argv[1], "split") == 0) {
-			if (parent->layout == L_HORIZ && (parent->workspace_layout == L_NONE ||
-							  parent->workspace_layout == L_HORIZ)) {
+			if (parent->layout == L_HORIZ && (parent->workspace_layout == L_NONE
+					|| parent->workspace_layout == L_HORIZ)) {
 				swayc_change_layout(parent, L_VERT);
 			} else {
 				swayc_change_layout(parent, L_HORIZ);
@@ -66,23 +66,23 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
 		} else if (strcasecmp(argv[0], "incnmaster") == 0)  {
 			const char *name = "layout incnmaster";
 			if ((error = checkarg(argc, name,
-					      EXPECTED_EQUAL_TO, 2))) {
+					EXPECTED_EQUAL_TO, 2))) {
 				return error;
 			}
 			char *end;
 			int inc = (int) strtol(argv[1], &end, 10);
 			if (*end) {
 				return cmd_results_new(CMD_INVALID, name, "Invalid %s command "
-						       "(argument must be an integer)", name);
+					"(argument must be an integer)", name);
 
 			}
 			swayc_t *container = get_focused_view(swayc_active_workspace());
 			if (container && inc &&
-			    is_auto_layout(container->parent->layout) &&
-			    ((int)container->parent->nb_master + inc >= 0)) {
+				is_auto_layout(container->parent->layout) &&
+				((int)container->parent->nb_master + inc >= 0)) {
 				for (int i = container->parent->nb_master;
-				     i >= 0 && i < container->parent->children->length &&
-					     i != (int) container->parent->nb_master + inc;) {
+					i >= 0 && i < container->parent->children->length
+						&& i != (int) container->parent->nb_master + inc;) {
 					((swayc_t *) container->parent->children->items[i])->height = -1;
 					((swayc_t *) container->parent->children->items[i])->width = -1;
 					i += inc > 0 ? 1 : -1;
@@ -92,19 +92,19 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
 		} else if ((strcasecmp(argv[0], "incncol") == 0) && argc ==2) {
 			const char *name = "layout incncol";
 			if ((error = checkarg(argc, name,
-					      EXPECTED_EQUAL_TO, 2))) {
+					EXPECTED_EQUAL_TO, 2))) {
 				return error;
 			}
 			char *end;
 			int inc = (int) strtol(argv[1], &end, 10);
 			if (*end) {
 				return cmd_results_new(CMD_INVALID, name, "Invalid %s command "
-						       "(argument must be an integer)", name);
+					"(argument must be an integer)", name);
 
 			}
 			swayc_t *container = get_focused_view(swayc_active_workspace());
 			if (container && inc && is_auto_layout(container->parent->layout) &&
-			    ((int)container->parent->nb_slave_groups + inc >= 1)) {
+				((int)container->parent->nb_slave_groups + inc >= 1)) {
 				container->parent->nb_slave_groups += inc;
 			}
 		} else if (strcasecmp(argv[0], "auto") == 0) {
@@ -128,7 +128,7 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
 				}
 			} else {
 				return cmd_results_new(CMD_FAILURE, "layout auto",
-						       "Must be one of <prev|next>.");
+						"Must be one of <prev|next>.");
 			}
 			swayc_change_layout(parent, layout);
 		}
diff --git a/sway/container.c b/sway/container.c
index 3bdc8b6c..cf7d7dda 100644
--- a/sway/container.c
+++ b/sway/container.c
@@ -965,10 +965,11 @@ swayc_t *swayc_change_layout(swayc_t *container, enum swayc_layouts layout) {
 	// if layout change modifies the auto layout's major axis, swap width and height
 	// to preserve current ratios.
 	if (is_auto_layout(layout) && is_auto_layout(container->layout)) {
-		enum swayc_layouts prev_major = (container->layout == L_AUTO_LEFT ||
-						 container->layout == L_AUTO_RIGHT)
+		enum swayc_layouts prev_major =
+			container->layout == L_AUTO_LEFT || container->layout == L_AUTO_RIGHT
 			? L_HORIZ : L_VERT;
-		enum swayc_layouts new_major = (layout == L_AUTO_LEFT || layout == L_AUTO_RIGHT)
+		enum swayc_layouts new_major =
+			layout == L_AUTO_LEFT || layout == L_AUTO_RIGHT
 			? L_HORIZ : L_VERT;
 		if (new_major != prev_major) {
 			for (int i = 0; i < container->children->length; ++i) {
diff --git a/sway/layout.c b/sway/layout.c
index 3e467169..869a3bcb 100644
--- a/sway/layout.c
+++ b/sway/layout.c
@@ -296,7 +296,7 @@ void move_container(swayc_t *container, enum movement_direction dir) {
 		sway_log(L_DEBUG, "container:%p, parent:%p, child %p,",
 				container,parent,child);
 		if (parent->layout == layout
-			|| layout == L_NONE /* accept any layout for next/prev direction */
+			|| (layout == L_NONE && parent->type == C_CONTAINER) /* accept any layout for next/prev direction */
 			|| (parent->layout == L_TABBED && layout == L_HORIZ)
 			|| (parent->layout == L_STACKED && layout == L_VERT)
 			|| is_auto_layout(parent->layout)) {
@@ -321,16 +321,16 @@ void move_container(swayc_t *container, enum movement_direction dir) {
 				}
 				// if move command makes container change from master to slave
 				// (or the contrary), reset its geometry an the one of the replaced item.
-				if (parent->nb_master &&
-				    (size_t) parent->children->length > parent->nb_master) {
+				if (parent->nb_master
+						&& (size_t) parent->children->length > parent->nb_master) {
 					swayc_t *swap_geom = NULL;
 					// if child is being promoted/demoted, it will swap geometry
 					// with the sibling being demoted/promoted.
 					if ((dir == MOVE_NEXT && desired == 0)
-					    || (dir == MOVE_PREV && (size_t) desired == parent->nb_master - 1)) {
+							|| (dir == MOVE_PREV && (size_t) desired == parent->nb_master - 1)) {
 						swap_geom = parent->children->items[parent->nb_master - 1];
 					} else if ((dir == MOVE_NEXT && (size_t) desired == parent->nb_master)
-						   || (dir == MOVE_PREV && desired == parent->children->length - 1)) {
+							|| (dir == MOVE_PREV && desired == parent->children->length - 1)) {
 						swap_geom = parent->children->items[parent->nb_master];
 					}
 					if (swap_geom) {
@@ -837,9 +837,9 @@ static void apply_tabbed_or_stacked_layout(swayc_t *container, double x,
 				double height);
 
 static void apply_auto_layout(swayc_t *container, const double x, const double y,
-			      const double width, const double height,
-			      enum swayc_layouts group_layout,
-			      bool master_first);
+				const double width, const double height,
+				enum swayc_layouts group_layout,
+				bool master_first);
 
 static void arrange_windows_r(swayc_t *container, double width, double height) {
 	int i;
@@ -972,11 +972,11 @@ static void arrange_windows_r(swayc_t *container, double width, double height) {
 	case L_HORIZ:
 	default:
 		apply_horiz_layout(container, x, y, width, height, 0,
-				   container->children->length);
+			container->children->length);
 		break;
 	case L_VERT:
 		apply_vert_layout(container, x, y, width, height, 0,
-				  container->children->length);
+			container->children->length);
 		break;
 	case L_TABBED:
 	case L_STACKED:
@@ -1007,7 +1007,7 @@ static void arrange_windows_r(swayc_t *container, double width, double height) {
 				if (swayc_is_fullscreen(view)) {
 					wlc_view_bring_to_front(view->handle);
 				} else if (!container->focused ||
-					   !swayc_is_fullscreen(container->focused)) {
+						!swayc_is_fullscreen(container->focused)) {
 					wlc_view_bring_to_front(view->handle);
 				}
 			}
@@ -1068,8 +1068,8 @@ void apply_horiz_layout(swayc_t *container, const double x, const double y,
 }
 
 void apply_vert_layout(swayc_t *container, const double x, const double y,
-		       const double width, const double height, const int start,
-		       const int end) {
+			const double width, const double height, const int start,
+			const int end) {
 	int i;
 	double scale = 0;
 	// Calculate total height
@@ -1121,7 +1121,7 @@ void apply_vert_layout(swayc_t *container, const double x, const double y,
 }
 
 void apply_tabbed_or_stacked_layout(swayc_t *container, double x, double y,
-				    double width, double height) {
+					double width, double height) {
 	int i;
 	swayc_t *focused = NULL;
 	for (i = 0; i < container->children->length; ++i) {
@@ -1141,9 +1141,9 @@ void apply_tabbed_or_stacked_layout(swayc_t *container, double x, double y,
 }
 
 void apply_auto_layout(swayc_t *container, const double x, const double y,
-		       const double width, const double height,
-		       enum swayc_layouts group_layout,
-		       bool master_first) {
+			const double width, const double height,
+			enum swayc_layouts group_layout,
+			bool master_first) {
 	// Auto layout "container" in width x height @ x, y
 	// using "group_layout" for each of the groups in the container.
 	// There is one "master" group, plus container->nb_slave_groups.
@@ -1342,7 +1342,7 @@ swayc_t *get_swayc_in_direction_under(swayc_t *container, enum movement_directio
 			return NULL;
 		} else {
 			int desired = (focused_idx + (dir == MOVE_NEXT ? 1 : -1)) %
-				      parent->children->length;
+				parent->children->length;
 			if (desired < 0) {
 				desired += parent->children->length;
 			}