diff --git a/src/server-context-service.c b/src/server-context-service.c
index 77022e62a0bb8b202ca3b23bd8d975fbc2e0f009..ecf6d0144ed8e34cc888037d04f971a8872a245e 100644
--- a/src/server-context-service.c
+++ b/src/server-context-service.c
@@ -145,7 +145,7 @@ on_surface_configure(PhoshLayerSurface *surface, ServerContextService *context)
     enum squeek_arrangement_kind new_type = get_type((uint32_t)width, (uint32_t)height);
     if (context->last_type != new_type) {
         context->last_type = new_type;
-        eekboard_context_service_update_layout(EEKBOARD_CONTEXT_SERVICE(context), context->last_type);
+        eekboard_context_service_update_layout(context->state, context->last_type);
     }
 
     guint desired_height = calculate_height(width);