diff -urp vte-0.34.8.orig/src/vteseq.c vte-0.34.8/src/vteseq.c
--- vte-0.34.8.orig/src/vteseq.c	2013-09-16 23:39:39.000000000 +0200
+++ vte-0.34.8/src/vteseq.c	2013-09-18 22:44:44.711534195 +0200
@@ -1131,12 +1131,12 @@ vte_sequence_handler_cd (VteTerminal *te
 	for (i = screen->cursor_current.row;
 	     i < screen->insert_delta + terminal->row_count;
 	     i++) {
-		/* Retrieve the row's data, creating it if necessary. */
+		/* Retrieve the row's data. */
 		if (_vte_ring_contains (screen->row_data, i)) {
 			rowdata = _vte_ring_index_writable (screen->row_data, i);
 			g_assert(rowdata != NULL);
 		} else {
-			rowdata = _vte_terminal_ring_append (terminal, FALSE);
+			continue;
 		}
 		/* Pad out the row. */
 		_vte_row_data_fill (rowdata, &screen->fill_defaults, terminal->column_count);
