diff --git a/gnome/src/mainwindow.c b/gnome/src/mainwindow.c
index 1654940ab12e5aefd31daa3af1588ee0e2e1a8c0..8fd3be2cbac5d4abd3eab15a57f56932f32dc224 100644
--- a/gnome/src/mainwindow.c
+++ b/gnome/src/mainwindow.c
@@ -184,7 +184,6 @@ create_main_window ()
 {
     GtkWidget *widget;
     GError *error = NULL;
-    gboolean ret;
     const char *window_title = "SFLphone VoIP Client";
     int width, height, position_x, position_y;
 
@@ -226,9 +225,9 @@ create_main_window ()
 
     gtk_widget_set_name (window, "mainwindow");
 
-    ret = uimanager_new (&ui_manager);
+    ui_manager = uimanager_new ();
 
-    if (!ret) {
+    if (!ui_manager) {
         ERROR ("Could not load xml GUI\n");
         g_error_free (error);
         exit (1);
diff --git a/gnome/src/uimanager.c b/gnome/src/uimanager.c
index 066b8108cad520e7faf62c98efc6eb03e6013c82..d720f644a546d6bb6081d5a8758b0d87bd3b62b7 100644
--- a/gnome/src/uimanager.c
+++ b/gnome/src/uimanager.c
@@ -1108,52 +1108,32 @@ static const GtkToggleActionEntry toggle_menu_entries[] = {
     { "Addressbook", GTK_STOCK_ADDRESSBOOK, N_ ("_Address book"), NULL, N_ ("Address book"), G_CALLBACK (toggle_addressbook_cb), FALSE }
 };
 
-gboolean
-uimanager_new (GtkUIManager **_ui_manager)
+GtkUIManager *uimanager_new (void)
 {
-
-    GtkUIManager *ui_manager;
-    GtkActionGroup *action_group;
-    GtkWidget *window;
-    gchar *path;
-    guint manager_id = 0;
+    guint manager_id;
     GError *error = NULL;
-    gint nb_entries, nb_menu_entries;
-
-    nb_entries = abookfactory_is_addressbook_loaded() ? 7 : 6;
-    nb_menu_entries = abookfactory_is_addressbook_loaded() ? 7 : 6;
 
+    gint nb_entries = abookfactory_is_addressbook_loaded() ? 7 : 6;
 
-    window = get_main_window();
-    ui_manager = gtk_ui_manager_new();
+    GtkWidget *window = get_main_window();
+    GtkUIManager *ui_manager = gtk_ui_manager_new();
 
     /* Create an accel group for window's shortcuts */
-    path = g_build_filename (SFLPHONE_UIDIR_UNINSTALLED, "./ui.xml", NULL);
-
+    gchar *path = g_build_filename (SFLPHONE_UIDIR_UNINSTALLED, "./ui.xml", NULL);
     if (g_file_test (path, G_FILE_TEST_EXISTS)) {
         manager_id = gtk_ui_manager_add_ui_from_file (ui_manager, path, &error);
-
-        if (error != NULL) {
-            g_error_free (error);
-            return FALSE;
-        }
-
-        g_free (path);
     } else {
+        g_free (path);
         path = g_build_filename (SFLPHONE_UIDIR, "./ui.xml", NULL);
+        if (!g_file_test (path, G_FILE_TEST_EXISTS))
+            goto fail;
+        manager_id = gtk_ui_manager_add_ui_from_file (ui_manager, path, &error);
+    }
 
-        if (g_file_test (path, G_FILE_TEST_EXISTS)) {
-            manager_id = gtk_ui_manager_add_ui_from_file (ui_manager, path, &error);
-
-            if (error != NULL) {
-                g_error_free (error);
-                return FALSE;
-            }
+    if (error)
+        goto fail;
 
-            g_free (path);
-        } else
-            return FALSE;
-    }
+    g_free (path);
     
     if(abookfactory_is_addressbook_loaded()) {
  	// These actions must be loaded dynamically and is not specified in the xml description
@@ -1167,7 +1147,7 @@ uimanager_new (GtkUIManager **_ui_manager)
                           GTK_UI_MANAGER_TOOLITEM, FALSE);	
     }
     
-    action_group = gtk_action_group_new ("SFLphoneWindowActions");
+    GtkActionGroup *action_group = gtk_action_group_new ("SFLphoneWindowActions");
     // To translate label and tooltip entries
     gtk_action_group_set_translation_domain (action_group, "sflphone-client-gnome");
     gtk_action_group_add_actions (action_group, menu_entries, G_N_ELEMENTS (menu_entries), window);
@@ -1175,9 +1155,15 @@ uimanager_new (GtkUIManager **_ui_manager)
     //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);
 
-    *_ui_manager = ui_manager;
+    return ui_manager;
+
+fail:
+    if (error)
+        g_error_free (error);
 
-    return TRUE;
+    g_free (path);
+    g_free (ui_manager);
+    return NULL;
 }
 
 static void
diff --git a/gnome/src/uimanager.h b/gnome/src/uimanager.h
index 0f280b853696b66d78131ea6b656ec19e28af490..d4aaf87c04423a07f64e71b9cb000b1e5b947777 100644
--- a/gnome/src/uimanager.h
+++ b/gnome/src/uimanager.h
@@ -42,7 +42,7 @@ GtkWidget *contactButton;
 
 GtkAction *volumeToggle;
 
-gboolean uimanager_new (GtkUIManager**);
+GtkUIManager *uimanager_new (void);
 
 void update_voicemail_status (void);