diff --git a/fix-562468.patch b/fix-562468.patch
index 51b81ab..e69de29 100644
--- a/fix-562468.patch
+++ b/fix-562468.patch
@@ -1,298 +0,0 @@
-diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c
-index 5830d2b..b983da8 100644
---- a/src/empathy-main-window.c
-+++ b/src/empathy-main-window.c
-@@ -717,6 +717,67 @@ main_window_view_show_offline_cb (GtkToggleAction   *action,
- }
- 
- static void
-+main_window_view_sort_contacts_cb (GtkRadioAction    *action,
-+				   GtkRadioAction    *current,
-+				   EmpathyMainWindow *window)
-+{
-+	EmpathyContactListStoreSort value;
-+	const gchar *valueStr = NULL;
-+
-+	value = gtk_radio_action_get_current_value (action);
-+
-+	GSList      *group;
-+	GType        type;
-+	GEnumClass  *enum_class;
-+	GEnumValue  *enum_value;
-+
-+	group = gtk_radio_action_get_group (action);
-+
-+	/* Get string from index */
-+	type = empathy_contact_list_store_sort_get_type ();
-+	enum_class = G_ENUM_CLASS (g_type_class_peek (type));
-+	enum_value = g_enum_get_value (enum_class, g_slist_index (group, current));
-+
-+	if (!enum_value) {
-+		g_warning ("No GEnumValue for EmpathyContactListSort with GtkRadioButton index:%d",
-+			   g_slist_index (group, action));
-+	} else {
-+		valueStr = enum_value->value_nick;
-+
-+		empathy_conf_set_string (empathy_conf_get (),
-+					 EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
-+					 valueStr);
-+	}
-+
-+	empathy_contact_list_store_set_sort_criterium (window->list_store, value);
-+}
-+
-+/* Matches GtkRadioAction values set in empathy-main-window.ui */
-+#define CONTACT_LIST_NORMAL_SIZE		0
-+#define CONTACT_LIST_NORMAL_WITHOUT_ICONS	1
-+#define CONTACT_LIST_COMPACT_SIZE		2
-+
-+static void
-+main_window_view_contacts_list_size_cb (GtkRadioAction    *action,
-+					GtkRadioAction    *current,
-+					EmpathyMainWindow *window)
-+{
-+	gint     value;
-+
-+	value = gtk_radio_action_get_current_value (action);
-+
-+	empathy_conf_set_bool (empathy_conf_get (),
-+			      EMPATHY_PREFS_UI_SHOW_AVATARS,
-+			      value == CONTACT_LIST_NORMAL_SIZE);
-+	empathy_conf_set_bool (empathy_conf_get (),
-+			      EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
-+			      value == CONTACT_LIST_COMPACT_SIZE);
-+
-+	empathy_contact_list_store_set_show_avatars (window->list_store, value == CONTACT_LIST_NORMAL_SIZE);
-+	empathy_contact_list_store_set_is_compact (window->list_store, value == CONTACT_LIST_COMPACT_SIZE);
-+}
-+
-+static void
- main_window_view_show_map_cb (GtkCheckMenuItem  *item,
- 			      EmpathyMainWindow *window)
- {
-@@ -1027,36 +1088,15 @@ main_window_notify_show_offline_cb (EmpathyConf *conf,
- 	}
- }
- 
--static void
--main_window_notify_show_avatars_cb (EmpathyConf        *conf,
--				    const gchar       *key,
--				    EmpathyMainWindow *window)
--{
--	gboolean show_avatars;
--
--	if (empathy_conf_get_bool (conf, key, &show_avatars)) {
--		empathy_contact_list_store_set_show_avatars (window->list_store,
--							    show_avatars);
--	}
--}
-+/* Matches GtkRadioAction values set in empathy-main-window.ui */
-+#define CONTACT_LIST_SORT_BY_STATUS		0
-+#define CONTACT_LIST_SORT_BY_NAME		1
- 
- static void
--main_window_notify_compact_contact_list_cb (EmpathyConf        *conf,
--					    const gchar       *key,
--					    EmpathyMainWindow *window)
--{
--	gboolean compact_contact_list;
--
--	if (empathy_conf_get_bool (conf, key, &compact_contact_list)) {
--		empathy_contact_list_store_set_is_compact (window->list_store,
--							  compact_contact_list);
--	}
--}
--
--static void
--main_window_notify_sort_criterium_cb (EmpathyConf       *conf,
--				      const gchar       *key,
--				      EmpathyMainWindow *window)
-+main_window_conf_sort_criterium (EmpathyConf       *conf,
-+				 const gchar       *key,
-+				 EmpathyMainWindow *window,
-+				 GtkRadioAction    *action)
- {
- 	gchar *str = NULL;
- 
-@@ -1070,9 +1110,10 @@ main_window_notify_sort_criterium_cb (EmpathyConf       *conf,
- 		enum_value = g_enum_get_value_by_nick (enum_class, str);
- 		g_free (str);
- 
--		if (enum_value) {
--			empathy_contact_list_store_set_sort_criterium (window->list_store,
--								       enum_value->value);
-+		if (enum_value->value == EMPATHY_CONTACT_LIST_STORE_SORT_STATE) {
-+			gtk_radio_action_set_current_value (action, CONTACT_LIST_SORT_BY_STATUS);
-+		} else {
-+			gtk_radio_action_set_current_value (action, CONTACT_LIST_SORT_BY_NAME);
- 		}
- 	}
- }
-@@ -1114,6 +1155,11 @@ empathy_main_window_show (void)
- 	EmpathyConf              *conf;
- 	GtkWidget                *sw;
- 	GtkToggleAction          *show_offline_widget;
-+	GtkRadioAction           *sort_by_name;
-+	GtkRadioAction           *sort_by_status;
-+	GtkRadioAction           *normal_size;
-+	GtkRadioAction           *normal_without_icons;
-+	GtkRadioAction           *compact_size;
- 	GtkWidget                *ebox;
- 	GtkAction                *show_map_widget;
- 	GtkToolItem              *item;
-@@ -1121,6 +1167,7 @@ empathy_main_window_show (void)
- 	gboolean                  show_avatars;
- 	gboolean                  compact_contact_list;
- 	gint                      x, y, w, h;
-+	gint			  value = 1;
- 	gchar                    *filename;
- 	GSList                   *l;
- 
-@@ -1139,6 +1186,11 @@ empathy_main_window_show (void)
- 				       "errors_vbox", &window->errors_vbox,
- 				       "ui_manager", &window->ui_manager,
- 				       "view_show_offline", &show_offline_widget,
-+				       "view_sort_by_name", &sort_by_name,
-+				       "view_sort_by_status", &sort_by_status,
-+				       "view_normal_size", &normal_size,
-+				       "view_normal_without_icons", &normal_without_icons,
-+				       "view_compact_size", &compact_size,
- 				       "view_history", &window->view_history,
- 				       "view_show_map", &show_map_widget,
- 				       "room_join_favorites", &window->room_join_favorites,
-@@ -1159,6 +1211,8 @@ empathy_main_window_show (void)
- 			      "chat_add_contact", "activate", main_window_chat_add_contact_cb,
- 			      "view_show_ft_manager", "activate", main_window_view_show_ft_manager,
- 			      "view_show_offline", "toggled", main_window_view_show_offline_cb,
-+			      "view_sort_by_name", "changed", main_window_view_sort_contacts_cb,
-+			      "view_normal_size", "changed", main_window_view_contacts_list_size_cb,
- 			      "view_show_map", "activate", main_window_view_show_map_cb,
- 			      "edit", "activate", main_window_edit_cb,
- 			      "edit_accounts", "activate", main_window_edit_accounts_cb,
-@@ -1310,34 +1364,30 @@ empathy_main_window_show (void)
- 
- 	gtk_toggle_action_set_active (show_offline_widget, show_offline);
- 
--	/* Show avatars ? */
-+	/* Sort by name / by status ? */
-+	main_window_conf_sort_criterium (conf,
-+					 EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
-+					 window,
-+					 sort_by_name);
-+
-+
-+	/* Contacts list size */
- 	empathy_conf_get_bool (conf,
- 			      EMPATHY_PREFS_UI_SHOW_AVATARS,
- 			      &show_avatars);
--	empathy_conf_notify_add (conf,
--				EMPATHY_PREFS_UI_SHOW_AVATARS,
--				(EmpathyConfNotifyFunc) main_window_notify_show_avatars_cb,
--				window);
--	empathy_contact_list_store_set_show_avatars (window->list_store, show_avatars);
--
--	/* Is compact ? */
- 	empathy_conf_get_bool (conf,
- 			      EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
- 			      &compact_contact_list);
--	empathy_conf_notify_add (conf,
--				EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
--				(EmpathyConfNotifyFunc) main_window_notify_compact_contact_list_cb,
--				window);
--	empathy_contact_list_store_set_is_compact (window->list_store, compact_contact_list);
- 
--	/* Sort criterium */
--	empathy_conf_notify_add (conf,
--				EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
--				(EmpathyConfNotifyFunc) main_window_notify_sort_criterium_cb,
--				window);
--	main_window_notify_sort_criterium_cb (conf,
--					      EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
--					      window);
-+	if (compact_contact_list) {
-+		value = CONTACT_LIST_COMPACT_SIZE;
-+	} else if (show_avatars) {
-+		value = CONTACT_LIST_NORMAL_SIZE;
-+	} else {
-+		value = CONTACT_LIST_NORMAL_WITHOUT_ICONS;
-+	}
-+	gtk_radio_action_set_current_value (normal_size, value);
-+
- 
- 	main_window_update_status (window, window->account_manager);
- 
-diff --git a/src/empathy-main-window.ui b/src/empathy-main-window.ui
-index f914979..d6fcb1e 100644
---- a/src/empathy-main-window.ui
-+++ b/src/empathy-main-window.ui
-@@ -99,6 +99,56 @@
-           </object>
-         </child>
-         <child>
-+          <object class="GtkRadioAction" id="view_sort_by_name">
-+            <property name="name">view_sort_by_name</property>
-+            <property name="visible">True</property>
-+            <property name="label" translatable="yes">Sort by _Name</property>
-+            <property name="draw_as_radio">True</property>
-+            <property name="value">1</property>
-+            <property name="current-value">1</property>
-+          </object>
-+        </child>
-+        <child>
-+          <object class="GtkRadioAction" id="view_sort_by_status">
-+            <property name="name">view_sort_by_status</property>
-+            <property name="visible">True</property>
-+            <property name="label" translatable="yes">Sort by _Status</property>
-+            <property name="draw_as_radio">True</property>
-+            <property name="group">view_sort_by_name</property>
-+            <property name="value">0</property>
-+          </object>
-+        </child>
-+        <child>
-+          <object class="GtkRadioAction" id="view_normal_size">
-+            <property name="name">view_normal_size</property>
-+            <property name="visible">True</property>
-+            <property name="label" translatable="yes">N_ormal Size</property>
-+            <property name="draw_as_radio">True</property>
-+            <property name="value">0</property>
-+            <property name="current-value">0</property>
-+          </object>
-+        </child>
-+        <child>
-+          <object class="GtkRadioAction" id="view_normal_without_icons">
-+            <property name="name">view_normal_without_icons</property>
-+            <property name="visible">True</property>
-+            <property name="label" translatable="yes">Normal Size _Without Icons</property>
-+            <property name="draw_as_radio">True</property>
-+            <property name="group">view_normal_size</property>
-+            <property name="value">1</property>
-+          </object>
-+        </child>
-+        <child>
-+          <object class="GtkRadioAction" id="view_compact_size">
-+            <property name="name">view_compact_size</property>
-+            <property name="visible">True</property>
-+            <property name="label" translatable="yes">_Compact Size</property>
-+            <property name="draw_as_radio">True</property>
-+            <property name="group">view_normal_size</property>
-+            <property name="value">2</property>
-+          </object>
-+        </child>
-+        <child>
-           <object class="GtkAction" id="room">
-             <property name="name">room</property>
-             <property name="label" translatable="yes">_Room</property>
-@@ -172,6 +222,13 @@
-         <menu action="view">
-           <menuitem action="view_show_offline"/>
-           <separator/>
-+          <menuitem action="view_sort_by_name"/>
-+          <menuitem action="view_sort_by_status"/>
-+          <separator/>
-+          <menuitem action="view_normal_size"/>
-+          <menuitem action="view_normal_without_icons"/>
-+          <menuitem action="view_compact_size"/>
-+          <separator/>
-           <menuitem action="view_history"/>
-           <menuitem action="view_show_ft_manager"/>
-           <menuitem action="view_show_map"/>
diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c
index b983da8..6a99060 100644
--- a/src/empathy-main-window.c
+++ b/src/empathy-main-window.c
@@ -94,6 +94,12 @@ typedef struct {
 	GtkWidget              *presence_chooser;
 	GtkWidget              *errors_vbox;
 
+	GtkRadioAction         *sort_by_name;
+	GtkRadioAction         *sort_by_status;
+	GtkRadioAction         *normal_size;
+	GtkRadioAction         *normal_without_icons;
+	GtkRadioAction         *compact_size;
+
 	GtkUIManager           *ui_manager;
 	GtkAction              *view_history;
 	GtkAction              *room_join_favorites;
@@ -748,7 +754,6 @@ main_window_view_sort_contacts_cb (GtkRadioAction    *action,
 					 EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
 					 valueStr);
 	}
-
 	empathy_contact_list_store_set_sort_criterium (window->list_store, value);
 }
 
@@ -767,14 +772,16 @@ main_window_view_contacts_list_size_cb (GtkRadioAction    *action,
 	value = gtk_radio_action_get_current_value (action);
 
 	empathy_conf_set_bool (empathy_conf_get (),
-			      EMPATHY_PREFS_UI_SHOW_AVATARS,
-			      value == CONTACT_LIST_NORMAL_SIZE);
+			       EMPATHY_PREFS_UI_SHOW_AVATARS,
+			       value == CONTACT_LIST_NORMAL_SIZE);
 	empathy_conf_set_bool (empathy_conf_get (),
-			      EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
-			      value == CONTACT_LIST_COMPACT_SIZE);
+			       EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
+			       value == CONTACT_LIST_COMPACT_SIZE);
 
-	empathy_contact_list_store_set_show_avatars (window->list_store, value == CONTACT_LIST_NORMAL_SIZE);
-	empathy_contact_list_store_set_is_compact (window->list_store, value == CONTACT_LIST_COMPACT_SIZE);
+	empathy_contact_list_store_set_show_avatars (window->list_store,
+						     value == CONTACT_LIST_NORMAL_SIZE);
+	empathy_contact_list_store_set_is_compact (window->list_store,
+						   value == CONTACT_LIST_COMPACT_SIZE);
 }
 
 static void
@@ -1088,15 +1095,41 @@ main_window_notify_show_offline_cb (EmpathyConf *conf,
 	}
 }
 
+static void
+main_window_notify_contact_list_size_cb (EmpathyConf       *conf,
+					 const gchar       *key,
+					 EmpathyMainWindow *window)
+{
+	gboolean show_avatars;
+	gboolean compact_contact_list;
+	gint value = CONTACT_LIST_NORMAL_SIZE;
+
+	if (empathy_conf_get_bool (conf,
+				   EMPATHY_PREFS_UI_SHOW_AVATARS,
+				   &show_avatars)
+	    && empathy_conf_get_bool (conf,
+				      EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
+				      &compact_contact_list)) {
+		if (compact_contact_list) {
+			value = CONTACT_LIST_COMPACT_SIZE;
+		} else if (show_avatars) {
+			value = CONTACT_LIST_NORMAL_SIZE;
+		} else {
+			value = CONTACT_LIST_NORMAL_WITHOUT_ICONS;
+		}
+	}
+	gtk_radio_action_set_current_value (window->normal_size, value);
+}
+
+
 /* Matches GtkRadioAction values set in empathy-main-window.ui */
 #define CONTACT_LIST_SORT_BY_STATUS		0
 #define CONTACT_LIST_SORT_BY_NAME		1
 
 static void
-main_window_conf_sort_criterium (EmpathyConf       *conf,
-				 const gchar       *key,
-				 EmpathyMainWindow *window,
-				 GtkRadioAction    *action)
+main_window_notify_sort_contact_cb (EmpathyConf       *conf,
+				    const gchar       *key,
+				    EmpathyMainWindow *window)
 {
 	gchar *str = NULL;
 
@@ -1108,13 +1141,19 @@ main_window_conf_sort_criterium (EmpathyConf       *conf,
 		type = empathy_contact_list_store_sort_get_type ();
 		enum_class = G_ENUM_CLASS (g_type_class_peek (type));
 		enum_value = g_enum_get_value_by_nick (enum_class, str);
-		g_free (str);
 
-		if (enum_value->value == EMPATHY_CONTACT_LIST_STORE_SORT_STATE) {
-			gtk_radio_action_set_current_value (action, CONTACT_LIST_SORT_BY_STATUS);
+		if (enum_value) {
+			if (enum_value->value == EMPATHY_CONTACT_LIST_STORE_SORT_STATE) {
+				gtk_radio_action_set_current_value (window->sort_by_name,
+								    CONTACT_LIST_SORT_BY_STATUS);
+			} else {
+				gtk_radio_action_set_current_value (window->sort_by_name,
+								    CONTACT_LIST_SORT_BY_NAME);
+			}
 		} else {
-			gtk_radio_action_set_current_value (action, CONTACT_LIST_SORT_BY_NAME);
+			g_warning ("Wrong value for sort_criterium configuration : %s", str);
 		}
+		g_free (str);
 	}
 }
 
@@ -1155,19 +1194,11 @@ empathy_main_window_show (void)
 	EmpathyConf              *conf;
 	GtkWidget                *sw;
 	GtkToggleAction          *show_offline_widget;
-	GtkRadioAction           *sort_by_name;
-	GtkRadioAction           *sort_by_status;
-	GtkRadioAction           *normal_size;
-	GtkRadioAction           *normal_without_icons;
-	GtkRadioAction           *compact_size;
 	GtkWidget                *ebox;
 	GtkAction                *show_map_widget;
 	GtkToolItem              *item;
 	gboolean                  show_offline;
-	gboolean                  show_avatars;
-	gboolean                  compact_contact_list;
 	gint                      x, y, w, h;
-	gint			  value = 1;
 	gchar                    *filename;
 	GSList                   *l;
 
@@ -1186,11 +1217,11 @@ empathy_main_window_show (void)
 				       "errors_vbox", &window->errors_vbox,
 				       "ui_manager", &window->ui_manager,
 				       "view_show_offline", &show_offline_widget,
-				       "view_sort_by_name", &sort_by_name,
-				       "view_sort_by_status", &sort_by_status,
-				       "view_normal_size", &normal_size,
-				       "view_normal_without_icons", &normal_without_icons,
-				       "view_compact_size", &compact_size,
+				       "view_sort_by_name", &window->sort_by_name,
+				       "view_sort_by_status", &window->sort_by_status,
+				       "view_normal_size", &window->normal_size,
+				       "view_normal_without_icons", &window->normal_without_icons,
+				       "view_compact_size", &window->compact_size,
 				       "view_history", &window->view_history,
 				       "view_show_map", &show_map_widget,
 				       "room_join_favorites", &window->room_join_favorites,
@@ -1365,29 +1396,28 @@ empathy_main_window_show (void)
 	gtk_toggle_action_set_active (show_offline_widget, show_offline);
 
 	/* Sort by name / by status ? */
-	main_window_conf_sort_criterium (conf,
-					 EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
-					 window,
-					 sort_by_name);
+	empathy_conf_notify_add (conf,
+				 EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
+				 (EmpathyConfNotifyFunc) main_window_notify_sort_contact_cb,
+				 window);
 
+	main_window_notify_sort_contact_cb (conf,
+					    EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
+					    window);
 
 	/* Contacts list size */
-	empathy_conf_get_bool (conf,
-			      EMPATHY_PREFS_UI_SHOW_AVATARS,
-			      &show_avatars);
-	empathy_conf_get_bool (conf,
-			      EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
-			      &compact_contact_list);
-
-	if (compact_contact_list) {
-		value = CONTACT_LIST_COMPACT_SIZE;
-	} else if (show_avatars) {
-		value = CONTACT_LIST_NORMAL_SIZE;
-	} else {
-		value = CONTACT_LIST_NORMAL_WITHOUT_ICONS;
-	}
-	gtk_radio_action_set_current_value (normal_size, value);
+	empathy_conf_notify_add (conf,
+				 EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
+				 (EmpathyConfNotifyFunc) main_window_notify_contact_list_size_cb,
+				 window);
+	empathy_conf_notify_add (conf,
+				 EMPATHY_PREFS_UI_SHOW_AVATARS,
+				 (EmpathyConfNotifyFunc) main_window_notify_contact_list_size_cb,
+				 window);
 
+	main_window_notify_contact_list_size_cb (conf,
+						 EMPATHY_PREFS_UI_SHOW_AVATARS,
+						 window);
 
 	main_window_update_status (window, window->account_manager);
 
