diff --git a/src/vte.c b/src/vte.c
index 45d1219..5bf2dc7 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -2191,6 +2191,12 @@ _vte_terminal_adjust_adjustments_full (VteTerminal *terminal)
 		changed = TRUE;
 	}
 
+	if (terminal->pvt->screen == &terminal->pvt->alternate_screen) {
+		gtk_adjustment_set_upper(
+				terminal->adjustment,
+				gtk_adjustment_get_lower(terminal->adjustment) + terminal->row_count);
+	}
+
 	g_object_thaw_notify(G_OBJECT(terminal->adjustment));
 
 	if (changed)
