diff --git a/src/newifc/newifc_nongen.c b/src/newifc/newifc_nongen.c
index 69c30930b41f6f22cc057bba35792894ede627c9..766c628db70cef697b0af78ced9d81e398612257 100644
--- a/src/newifc/newifc_nongen.c
+++ b/src/newifc/newifc_nongen.c
@@ -595,6 +595,9 @@ do_layout_set_size_recurse(NewIfcObj obj)
 	else {
 		if (obj->parent && obj->parent->child_width < obj->width)
 			return NewIfc_error_wont_fit;
+		ret = NI_set_layout_width(obj, obj->width);
+		if (ret != NewIfc_error_none)
+			return ret;
 	}
 
 	if (obj->height == NI_SHRINK) {
@@ -614,6 +617,9 @@ do_layout_set_size_recurse(NewIfcObj obj)
 	else {
 		if (obj->parent && obj->parent->child_height < obj->height)
 			return NewIfc_error_wont_fit;
+		ret = NI_set_layout_height(obj, obj->height);
+		if (ret != NewIfc_error_none)
+			return ret;
 	}
 
 	// Then, recurse peers
diff --git a/src/newifc/newifc_nongen_after.c b/src/newifc/newifc_nongen_after.c
index 6556a7972918e9dd036c31cbe830b999503df835..9574778ff70231a1673c749e60e1132c011d9718 100644
--- a/src/newifc/newifc_nongen_after.c
+++ b/src/newifc/newifc_nongen_after.c
@@ -135,7 +135,6 @@ void test_api(CuTest *ct)
 
 	CuAssertTrue(ct, robj->do_render(robj, NULL) == NewIfc_error_none);
 	size_t sz = strlen(new_title);
-#if 0
 	for (size_t i = 0; i < sz; i++) {
 		ciolib_vmem_gettext(i+36,1,i+36,1,&cells);
 		CuAssertTrue(ct, cells.ch == new_title[i]);
@@ -143,8 +142,6 @@ void test_api(CuTest *ct)
 		CuAssertTrue(ct, cells.bg == obj->bg_colour);
 		CuAssertTrue(ct, cells.font == obj->font);
 	}
-#endif
-sleep(2);
 	CuAssertTrue(ct, NI_destroy(robj) == NewIfc_error_none);
 }
 
diff --git a/src/newifc/root_window.c b/src/newifc/root_window.c
index 38acac409a8db071bdf79428c4629feb09f8c3c6..8fcf69d04f7835741e5b52b5ca2782d27cc141bc 100644
--- a/src/newifc/root_window.c
+++ b/src/newifc/root_window.c
@@ -186,7 +186,7 @@ rw_do_render_recurse(NewIfcObj obj, struct NewIfc_render_context *ctx)
 				}
 				if (obj->right_pad) {
 					for (size_t x = 0; x < obj->right_pad; x++) {
-						set_vmem_cell(ctx, x + obj->width - obj->right_pad, y, obj->fg_colour, obj->bg_colour, ' ', obj->font);
+						set_vmem_cell(ctx, x + obj->layout_size.width - obj->right_pad, y, obj->fg_colour, obj->bg_colour, ' ', obj->font);
 					}
 				}
 			}