diff --git a/src/libvterm/src/screen.c b/src/libvterm/src/screen.c
index e5d740b..eb90c20 100644
--- a/src/libvterm/src/screen.c
+++ b/src/libvterm/src/screen.c
@@ -646,6 +646,12 @@
      newinfo->doubleheight != oldinfo->doubleheight) {
     for(col = 0; col < screen->cols; col++) {
       ScreenCell *cell = getcell(screen, row, col);
+      if (cell == NULL)
+      {
+        DEBUG_LOG2("libvterm: setlineinfo() position invalid: %d / %d",
+								     row, col);
+	return 1;
+      }
       cell->pen.dwl = newinfo->doublewidth;
       cell->pen.dhl = newinfo->doubleheight;
     }
@@ -773,6 +779,12 @@
       ScreenCell *cell = getcell(screen, row, col);
       int i;
 
+      if (cell == NULL)
+      {
+        DEBUG_LOG2("libvterm: _get_chars() position invalid: %d / %d",
+								     row, col);
+	return 1;
+      }
       if(cell->chars[0] == 0)
         // Erased cell, might need a space
         padding++;
diff --git a/src/libvterm/src/state.c b/src/libvterm/src/state.c
index c9a988c..30438ef 100644
--- a/src/libvterm/src/state.c
+++ b/src/libvterm/src/state.c
@@ -17,11 +17,6 @@
 {
   VTermGlyphInfo info;
 
-  if (pos.row >= state->rows)
-  {
-    DEBUG_LOG2("libvterm: putglyph() pos.row %d out of range (rows = %d)\n", pos.row, state.rows);
-    return;
-  }
   info.chars = chars;
   info.width = width;
   info.protected_cell = state->protected_cell;
@@ -289,11 +284,6 @@
 
   VTermPos oldpos = state->pos;
 
-  if (state->pos.row >= state->rows)
-  {
-    DEBUG_LOG2("libvterm: on_text() pos.row %d out of range (rows = %d)\n", state->pos.row, state->rows);
-    return 0;
-  }
   // We'll have at most len codepoints, plus one from a previous incomplete
   // sequence.
   codepoints = vterm_allocator_malloc(state->vt, (len + 1) * sizeof(uint32_t));
@@ -1856,8 +1846,12 @@
 
   if(state->pos.row >= rows)
     state->pos.row = rows - 1;
+  if(state->pos.row < 0)
+    state->pos.row = 0;
   if(state->pos.col >= cols)
     state->pos.col = cols - 1;
+  if(state->pos.col < 0)
+    state->pos.col = 0;
 
   updatecursor(state, &oldpos, 1);
 
diff --git a/src/version.c b/src/version.c
index b4e7482..aff20e1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1030,
+/**/
     1029,
 /**/
     1028,
