diff --git a/src/vte.c b/src/vte.c
index 5df8e84..f618643 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -7821,6 +7821,10 @@ vte_terminal_set_size(VteTerminal *terminal, glong columns, glong rows)
 		if (terminal->pvt->screen == &terminal->pvt->alternate_screen)
 			vte_terminal_screen_set_size(terminal, &terminal->pvt->alternate_screen, old_columns, old_rows, FALSE);
 
+                /* Ensure scrollback buffers cover the screen: bug 647466 */
+                vte_terminal_set_scrollback_lines(terminal,
+                                                  terminal->pvt->scrollback_lines);
+
 		_vte_terminal_adjust_adjustments_full (terminal);
 		gtk_widget_queue_resize_no_redraw (&terminal->widget);
 		/* Our visible text changed. */
