--- a/src/vte.c
+++ b/src/vte.c
@@ -7427,6 +7428,12 @@ vte_terminal_set_visibility (VteTerminal *terminal, GdkVisibilityState state)
 		}
 	}
 
+	if (terminal->pvt->visibility_state == GDK_VISIBILITY_FULLY_OBSCURED) {
+		add_update_timeout (terminal);
+		/* It should be already set from below.  */
+		terminal->pvt->invalidated_all = TRUE;
+	}
+
 	terminal->pvt->visibility_state = state;
 
 	/* no longer visible, stop processing display updates */
