diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index e552c9f..e22b51c 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -8295,9 +8295,10 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
   if (tree_view->priv->fixed_height_mode
       && tree_view->priv->fixed_height >= 0)
     {
-      _gtk_rbtree_node_set_height (tree, node, tree_view->priv->fixed_height);
+      _gtk_rbtree_node_mark_invalid (tree, node);
+      validate_visible_area (tree_view);
       if (GTK_WIDGET_REALIZED (tree_view))
-	gtk_tree_view_node_queue_redraw (tree_view, tree, node);
+	 gtk_widget_queue_draw (GTK_WIDGET (tree_view));
     }
   else
     {
