diff --git a/mcs-plugin/xfwm4_plugin.c b/mcs-plugin/xfwm4_plugin.c
index bdc1cf8982430b52734956836155e2cab6d8ea5a..26d2460859c91b6f4213a9fedf2bcd501d57f415 100644
--- a/mcs-plugin/xfwm4_plugin.c
+++ b/mcs-plugin/xfwm4_plugin.c
@@ -981,9 +981,11 @@ read_themes (GList * theme_list, GtkWidget * treeview, GtkWidget * swindow, Them
     GList *new_list = theme_list;
     GtkTreeModel *model;
     GtkTreeView *tree_view;
+    GtkTreePath *path;
+    GtkTreeIter iter;
+    GtkTreeIter iter_found;
     gint i = 0;
     gboolean current_value_found = FALSE;
-    GtkTreeRowReference *row_ref = NULL;
 
     new_list = theme_common_init (new_list);
     tree_view = GTK_TREE_VIEW (treeview);
@@ -1008,10 +1010,8 @@ read_themes (GList * theme_list, GtkWidget * treeview, GtkWidget * swindow, Them
 
         if (strcmp (current_value, info->name) == 0)
         {
-            GtkTreePath *path = gtk_tree_model_get_path (model, &iter);
-            row_ref = gtk_tree_row_reference_new (model, path);
-            gtk_tree_path_free (path);
             current_value_found = TRUE;
+            iter_found = iter;
         }
 
         if (i == MAX_ELEMENTS_BEFORE_SCROLLING)
@@ -1026,26 +1026,16 @@ read_themes (GList * theme_list, GtkWidget * treeview, GtkWidget * swindow, Them
 
     if (!current_value_found)
     {
-        GtkTreeIter iter;
-        GtkTreePath *path;
-
         gtk_list_store_prepend (GTK_LIST_STORE (model), &iter);
         gtk_list_store_set (GTK_LIST_STORE (model), &iter, THEME_NAME_COLUMN, current_value, -1);
-
-        path = gtk_tree_model_get_path (model, &iter);
-        row_ref = gtk_tree_row_reference_new (model, path);
-        gtk_tree_path_free (path);
+        iter_found = iter;
     }
 
-    if (row_ref)
+    path = gtk_tree_model_get_path(model, &iter_found);
     {
-        GtkTreePath *path;
-
-        path = gtk_tree_row_reference_get_path (row_ref);
         gtk_tree_view_set_cursor (tree_view, path, NULL, FALSE);
         gtk_tree_view_scroll_to_cell (tree_view, path, NULL, TRUE, 0.5, 0.0);
         gtk_tree_path_free (path);
-        gtk_tree_row_reference_free (row_ref);
     }
     setting_model = FALSE;