diff -Naur vte-0.11.11.orig/src/vte.c vte-0.11.11/src/vte.c
--- vte-0.11.11.orig/src/vte.c	2004-05-02 08:43:01.000000000 +0200
+++ vte-0.11.11/src/vte.c	2005-01-15 02:15:44.000000000 +0100
@@ -634,7 +634,7 @@
 
 	rect.y = row_start * terminal->char_height + VTE_PAD_WIDTH;
 	rect.height = row_count * terminal->char_height;
-	if (rect.y == 0) {
+	if (row_start == 0) {
 		/* Include the top border. */
 		rect.y -= VTE_PAD_WIDTH;
 		rect.height += VTE_PAD_WIDTH;
@@ -705,12 +705,18 @@
 		if (delta > 0) {
 			vte_invalidate_cells(terminal,
 					     0, terminal->column_count,
-					     0, delta);
+					     row, delta);
+			vte_invalidate_cells(terminal,
+					     0, terminal->column_count,
+					     row + terminal->row_count, 0);
 		} else {
 			vte_invalidate_cells(terminal,
 					     0, terminal->column_count,
-					     terminal->row_count + delta,
+					     row + terminal->row_count + delta,
 					     -delta);
+			vte_invalidate_cells(terminal,
+					     0, terminal->column_count,
+					     row, 0);
 		}
 		repaint = FALSE;
 	}
