diff --git a/src/vteseq.c b/src/vteseq.c
index 629f6c1..563422b 100644
--- a/src/vteseq.c
+++ b/src/vteseq.c
@@ -2905,7 +2905,7 @@ vte_sequence_handler_window_manipulation (VteTerminal *terminal, GValueArray *pa
 			vte_terminal_emit_iconify_window(terminal);
 			break;
 		case 3:
-			if ((arg1 != -1) && (arg2 != -2)) {
+			if ((arg1 != -1) && (arg2 != -1)) {
 				_vte_debug_print(VTE_DEBUG_PARSE,
 						"Moving window to "
 						"%ld,%ld.\n", arg1, arg2);
@@ -3056,6 +3056,14 @@ vte_sequence_handler_window_manipulation (VteTerminal *terminal, GValueArray *pa
 				    _VTE_CAP_OSC "lTerminal" _VTE_CAP_ST);
 			vte_terminal_feed_child(terminal, buf, -1);
 			break;
+		case 22:
+		case 23:
+			/* TODO: Save/restore window title, bug 685759.
+			   Until then swallow the parameter, bug 741402. */
+			if (arg1 != -1) {
+				i++;
+			}
+			break;
 		default:
 			if (param >= 24) {
 				_vte_debug_print(VTE_DEBUG_PARSE,
