diff --git a/sway/container.c b/sway/container.c
index 9c6b78e9..dee4028d 100644
--- a/sway/container.c
+++ b/sway/container.c
@@ -67,7 +67,7 @@ swayc_t *new_output(wlc_handle handle) {
 	output->height = size->h;
 	output->handle = handle;
 	output->name = name ? strdup(name) : NULL;
-	output->gaps = config->gaps_outer;
+	output->gaps = config->gaps_outer + config->gaps_inner / 2;
 
 	add_child(&root_container, output);
 
diff --git a/sway/layout.c b/sway/layout.c
index eb8391ce..e628c5ed 100644
--- a/sway/layout.c
+++ b/sway/layout.c
@@ -152,12 +152,12 @@ void arrange_windows(swayc_t *container, int width, int height) {
 		{
 			struct wlc_geometry geometry = {
 				.origin = {
-					.x = container->x + container->gaps,
-					.y = container->y + container->gaps
+					.x = container->x + container->gaps / 2,
+					.y = container->y + container->gaps / 2
 				},
 				.size = {
-					.w = width - container->gaps * 2,
-					.h = height - container->gaps * 2
+					.w = width - container->gaps,
+					.h = height - container->gaps
 				}
 			};
 			if (wlc_view_get_state(container->handle) & WLC_BIT_FULLSCREEN) {