diff --git a/eekboard/eekboard-context-service.c b/eekboard/eekboard-context-service.c
index e9f7b9dbd5b545b35c6a4e5527e98b1e311f4b85..f74382be3ff18c65037e888af8fc93b305ae7300 100644
--- a/eekboard/eekboard-context-service.c
+++ b/eekboard/eekboard-context-service.c
@@ -316,9 +316,14 @@ EekboardContextService *eekboard_context_service_new(void)
 {
     return g_object_new (EEKBOARD_TYPE_CONTEXT_SERVICE, NULL);
 }
+
 void eekboard_context_service_set_submission(EekboardContextService *context, struct submission *submission) {
     context->priv->submission = submission;
     if (context->priv->submission) {
         submission_set_keyboard(context->priv->submission, context->priv->keyboard);
     }
 }
+
+void eekboard_context_service_set_ui(EekboardContextService *context, ServerContextService *ui) {
+    context->priv->ui = ui;
+}
diff --git a/eekboard/eekboard-context-service.h b/eekboard/eekboard-context-service.h
index 383a65798c3a7f50b6b1096a97caa17bf6706678..9cb533455887ee81f8b3580a0089079fc5e5320b 100644
--- a/eekboard/eekboard-context-service.h
+++ b/eekboard/eekboard-context-service.h
@@ -87,6 +87,7 @@ GType         eekboard_context_service_get_type
                                               (void) G_GNUC_CONST;
 EekboardContextService *eekboard_context_service_new(void);
 void eekboard_context_service_set_submission(EekboardContextService *context, struct submission *submission);
+void eekboard_context_service_set_ui(EekboardContextService *context, ServerContextService *ui);
 void          eekboard_context_service_destroy (EekboardContextService *context);
 LevelKeyboard *eekboard_context_service_get_keyboard(EekboardContextService *context);
 
diff --git a/src/data.rs b/src/data.rs
index c190e54fda74c607589425605051f42800b390cd..5b2c4c9d466d013cca0914d0968a19e813c04960 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -201,7 +201,10 @@ fn load_layout_data_with_fallback(
                     source, e
                 ),
             },
-            Ok(layout) => return (kind, layout),
+            Ok(layout) => {
+                log_print!(logging::Level::Info, "Loaded layout {}", source);
+                return (kind, layout);
+            }
         }
     }
 
diff --git a/src/server-main.c b/src/server-main.c
index 9cf88eedf04e7cd5b8ac66b92633ace808e17122..68a5f06ac54c1c18b74af3dc22dda5dcba1a1211 100644
--- a/src/server-main.c
+++ b/src/server-main.c
@@ -288,6 +288,7 @@ main (int argc, char **argv)
     if (instance.dbus_handler) {
         dbus_handler_set_ui_context(instance.dbus_handler, instance.ui_context);
     }
+    eekboard_context_service_set_ui(instance.settings_context, instance.ui_context);
 
     session_register();