diff --git a/gnome/src/uimanager.c b/gnome/src/uimanager.c
index afea93a274870379d9f840677cbbf873488a348b..36eb62343c95d7286bdb517bbd599a2661d06c66 100644
--- a/gnome/src/uimanager.c
+++ b/gnome/src/uimanager.c
@@ -1160,7 +1160,7 @@ GtkUIManager *uimanager_new(void)
     gint nb_entries = addrbook ? 8 : 7;
 
     GtkWidget *window = get_main_window();
-    GtkUIManager *ui_manager = gtk_ui_manager_new();
+    GtkUIManager *ui = gtk_ui_manager_new();
 
     /* Register new icons as GTK_STOCK_ITEMS */
     register_custom_stock_icon();
@@ -1171,7 +1171,7 @@ GtkUIManager *uimanager_new(void)
     GError *error = NULL;
 
     if (g_file_test(path, G_FILE_TEST_EXISTS))
-        manager_id = gtk_ui_manager_add_ui_from_file(ui_manager, path, &error);
+        manager_id = gtk_ui_manager_add_ui_from_file(ui, path, &error);
     else {
         g_free(path);
         path = g_build_filename(SFLPHONE_UIDIR, "./ui.xml", NULL);
@@ -1179,7 +1179,7 @@ GtkUIManager *uimanager_new(void)
         if (!g_file_test(path, G_FILE_TEST_EXISTS))
             goto fail;
 
-        manager_id = gtk_ui_manager_add_ui_from_file(ui_manager, path, &error);
+        manager_id = gtk_ui_manager_add_ui_from_file(ui, path, &error);
     }
 
     if (error)
@@ -1189,11 +1189,11 @@ GtkUIManager *uimanager_new(void)
 
     if (addrbook) {
         // These actions must be loaded dynamically and is not specified in the xml description
-        gtk_ui_manager_add_ui(ui_manager, manager_id, "/ViewMenu",
+        gtk_ui_manager_add_ui(ui, manager_id, "/ViewMenu",
                               "Addressbook",
                               "Addressbook",
                               GTK_UI_MANAGER_MENUITEM, FALSE);
-        gtk_ui_manager_add_ui(ui_manager, manager_id,  "/ToolbarActions",
+        gtk_ui_manager_add_ui(ui, manager_id,  "/ToolbarActions",
                               "AddressbookToolbar",
                               "Addressbook",
                               GTK_UI_MANAGER_TOOLITEM, FALSE);
@@ -1205,9 +1205,9 @@ GtkUIManager *uimanager_new(void)
     gtk_action_group_add_actions(action_group, menu_entries, G_N_ELEMENTS(menu_entries), window);
     gtk_action_group_add_toggle_actions(action_group, toggle_menu_entries, nb_entries, window);
     //gtk_action_group_add_radio_actions(action_group, radio_menu_entries, G_N_ELEMENTS(radio_menu_entries), CALLTREE_CALLS, G_CALLBACK(calltree_switch_cb), window);
-    gtk_ui_manager_insert_action_group(ui_manager, action_group, 0);
+    gtk_ui_manager_insert_action_group(ui, action_group, 0);
 
-    return ui_manager;
+    return ui;
 
 fail:
 
@@ -1658,69 +1658,43 @@ create_waiting_icon()
     return waiting_icon;
 }
 
-GtkWidget *
-create_menus(GtkUIManager *ui_manager)
+static GtkWidget *
+get_widget(GtkUIManager *ui, const gchar *ui_path)
 {
-    GtkWidget *menu_bar = gtk_ui_manager_get_widget(ui_manager, "/MenuBar");
-    if (menu_bar == NULL) {
-        ERROR("Could not create menu bar");
-    }
-
-    pickUpAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/PickUp");
-    if (pickUpAction_ == NULL) {
-        ERROR("Could not create pick up action");
-    }
-
-    newCallAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/NewCall");
-    if (newCallAction_ == NULL) {
-        ERROR("Could not create new call action");
-    }
-
-    hangUpAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/HangUp");
-    if (hangUpAction_ == NULL) {
-        ERROR("Could not create hangup action");
-    }
-
-    holdMenu_ = gtk_ui_manager_get_widget(ui_manager, "/MenuBar/CallMenu/OnHoldMenu");
-    if (holdMenu_ == NULL) {
-        ERROR("Could not create hold menu widget");
-    }
-
-    recordAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/Record");
-    if (recordAction_ == NULL) {
-        ERROR("Could not create record action");
-    }
-
-    muteAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/Mute");
-    if (muteAction_ == NULL) {
-        ERROR("Could not create mute call action");
-    }
-
-    imAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/InstantMessaging");
-    if (imAction_ == NULL) {
-        ERROR("Could not create instant messaging action");
-    }
-
-    copyAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/EditMenu/Copy");
-    if (copyAction_ == NULL) {
-        ERROR("Could not create copy action");
-    }
-
-    pasteAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/EditMenu/Paste");
-    if (pasteAction_ == NULL) {
-        ERROR("Could not create paste action");
-    }
+    GtkWidget *result = gtk_ui_manager_get_widget(ui, ui_path);
+    if (result == NULL)
+        ERROR("Could not get %s widget", ui_path);
+    return result;
+}
 
-    volumeToggle_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/ViewMenu/VolumeControls");
-    if (volumeToggle_ == NULL) {
-        ERROR("Could not create volume toggle action");
-    }
+static GtkAction*
+get_action(GtkUIManager *ui, const gchar *ui_path)
+{
+    GtkAction *result = gtk_ui_manager_get_action(ui, ui_path);
+    if (result == NULL)
+        ERROR("Could not get %s action", ui_path);
+    return result;
+}
 
+GtkWidget *
+create_menus(GtkUIManager *ui)
+{
+    GtkWidget *menu_bar = get_widget(ui, "/MenuBar");
+    pickUpAction_ = get_action(ui, "/MenuBar/CallMenu/PickUp");
+    newCallAction_ = get_action(ui, "/MenuBar/CallMenu/NewCall");
+    hangUpAction_ = get_action(ui, "/MenuBar/CallMenu/HangUp");
+    holdMenu_ = get_widget(ui, "/MenuBar/CallMenu/OnHoldMenu");
+    recordAction_ = get_action(ui, "/MenuBar/CallMenu/Record");
+    muteAction_ = get_action(ui, "/MenuBar/CallMenu/Mute");
+    imAction_ = get_action(ui, "/MenuBar/CallMenu/InstantMessaging");
+    copyAction_ = get_action(ui, "/MenuBar/EditMenu/Copy");
+    pasteAction_ = get_action(ui, "/MenuBar/EditMenu/Paste");
+    volumeToggle_ = get_action(ui, "/MenuBar/ViewMenu/VolumeControls");
     // Set the toggle buttons
-    gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(ui_manager, "/MenuBar/ViewMenu/Dialpad")), eel_gconf_get_boolean(CONF_SHOW_DIALPAD));
+    gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(ui, "/MenuBar/ViewMenu/Dialpad")), eel_gconf_get_boolean(CONF_SHOW_DIALPAD));
     gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(volumeToggle_),(gboolean) SHOW_VOLUME);
     gtk_action_set_sensitive(volumeToggle_, must_show_alsa_conf());
-    gtk_action_set_sensitive(gtk_ui_manager_get_action(ui_manager, "/MenuBar/ViewMenu/Toolbar"), FALSE);
+    gtk_action_set_sensitive(gtk_ui_manager_get_action(ui, "/MenuBar/ViewMenu/Toolbar"), FALSE);
 
     /* Add the loading icon at the right of the toolbar. It is used for addressbook searches. */
     waitingLayer = create_waiting_icon();
@@ -1730,85 +1704,30 @@ create_menus(GtkUIManager *ui_manager)
 }
 
 GtkWidget *
-create_toolbar_actions(GtkUIManager *ui_manager)
+create_toolbar_actions(GtkUIManager *ui)
 {
-    toolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions");
-
-    holdToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/OnHoldToolbar");
-    if (holdToolbar_ == NULL) {
-        ERROR("Could not create on hold toolbar widget");
-    }
-
-    offHoldToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/OffHoldToolbar");
-    if (offHoldToolbar_ == NULL) {
-        ERROR("Could not create off hold toolbar widget");
-    }
-
-    transferToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/TransferToolbar");
-    if (transferToolbar_ == NULL) {
-        ERROR("Could not create transfer toolbar widget");
-    }
-
-    voicemailAction_ = gtk_ui_manager_get_action(ui_manager, "/ToolbarActions/Voicemail");
-    if (voicemailAction_ == NULL) {
-        ERROR("Could not create voicemail action");
-    }
-
-    voicemailToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/VoicemailToolbar");
-    if (voicemailToolbar_ == NULL) {
-        ERROR("Could not create voicemail toolbar widget");
-    }
-
-    newCallWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/NewCallToolbar");
-    if (newCallWidget_ == NULL) {
-        ERROR("Could not create new call widget");
-    }
-
-    pickUpWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/PickUpToolbar");
-    if (pickUpWidget_ == NULL) {
-        ERROR("Could not create pick up toolbar widget");
-    }
-
-    hangUpWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/HangUpToolbar");
-    if (hangUpWidget_ == NULL) {
-        ERROR("Could not create hang up toolbar widget");
-    }
-
-    recordWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/RecordToolbar");
-    if (recordWidget_ == NULL) {
-        ERROR("Could not create record toolbar widget");
-    }
-
-    muteWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/MuteToolbar");
-    if (muteWidget_ == NULL) {
-        ERROR("Could not create mute call widget");
-    }
-
-    imToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/InstantMessagingToolbar");
-    if (imToolbar_ == NULL) {
-        ERROR("Could not create instant messaging widget");
-    }
-
-    historyButton_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/HistoryToolbar");
-    if (historyButton_ == NULL) {
-        ERROR("Could not create history button widget");
-    }
-
-    playRecordWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/StartPlaybackRecordToolbar");
-    if (playRecordWidget_ == NULL) {
-        ERROR("Could not create play record widget");
-    }
-
-    stopRecordWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/StopPlaybackRecordToolbar");
-    if (stopRecordWidget_ == NULL) {
-        ERROR("Could not create stop record widget");
-    }
-
+    toolbar_ = get_widget(ui, "/ToolbarActions");
+    holdToolbar_ = get_widget(ui, "/ToolbarActions/OnHoldToolbar");
+    offHoldToolbar_ = get_widget(ui, "/ToolbarActions/OffHoldToolbar");
+    transferToolbar_ = get_widget(ui, "/ToolbarActions/TransferToolbar");
+    voicemailAction_ = get_action(ui, "/ToolbarActions/Voicemail");
+    voicemailToolbar_ = get_widget(ui, "/ToolbarActions/VoicemailToolbar");
+    newCallWidget_ = get_widget(ui, "/ToolbarActions/NewCallToolbar");
+    pickUpWidget_ = get_widget(ui, "/ToolbarActions/PickUpToolbar");
+    hangUpWidget_ = get_widget(ui, "/ToolbarActions/HangUpToolbar");
+    recordWidget_ = get_widget(ui, "/ToolbarActions/RecordToolbar");
+    muteWidget_ = get_widget(ui, "/ToolbarActions/MuteToolbar");
+    imToolbar_ = get_widget(ui, "/ToolbarActions/InstantMessagingToolbar");
+    historyButton_ = get_widget(ui, "/ToolbarActions/HistoryToolbar");
+    playRecordWidget_ = get_widget(ui, "/ToolbarActions/StartPlaybackRecordToolbar");
+    stopRecordWidget_ = get_widget(ui, "/ToolbarActions/StopPlaybackRecordToolbar");
     if (addrbook)
-        contactButton_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/AddressbookToolbar");
+        contactButton_ = get_widget(ui, "/ToolbarActions/AddressbookToolbar");
 
     // Set the handler ID for the transfer
+    g_assert(transferToolbar_);
     transferButtonConnId_ = g_signal_connect(G_OBJECT(transferToolbar_), "toggled", G_CALLBACK(call_transfer_cb), NULL);
+    g_assert(recordWidget_);
     recordButtonConnId_ = g_signal_connect(G_OBJECT(recordWidget_), "toggled", G_CALLBACK(call_record), NULL);
     active_calltree_tab = current_calls_tab;