diff --git a/src/evalfunc.c b/src/evalfunc.c
index e65ab94..2b1b142 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -14302,12 +14302,15 @@
 	}
 	else if (STRCMP(name, (char_u *)"nfa_fail") == 0)
 	    nfa_fail_for_testing = val;
+	else if (STRCMP(name, (char_u *)"no_query_mouse") == 0)
+	    no_query_mouse_for_testing = val;
 	else if (STRCMP(name, (char_u *)"ALL") == 0)
 	{
 	    disable_char_avail_for_testing = FALSE;
 	    disable_redraw_for_testing = FALSE;
 	    ignore_redraw_flag_for_testing = FALSE;
 	    nfa_fail_for_testing = FALSE;
+	    no_query_mouse_for_testing = FALSE;
 	    if (save_starting >= 0)
 	    {
 		starting = save_starting;
diff --git a/src/globals.h b/src/globals.h
index fef30a7..1a055d6 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1613,11 +1613,12 @@
 /* set by alloc_fail(), number of times alloc() returns NULL */
 EXTERN int  alloc_fail_repeat INIT(= 0);
 
-/* flags set by test_override() */
+// flags set by test_override()
 EXTERN int  disable_char_avail_for_testing INIT(= FALSE);
 EXTERN int  disable_redraw_for_testing INIT(= FALSE);
 EXTERN int  ignore_redraw_flag_for_testing INIT(= FALSE);
 EXTERN int  nfa_fail_for_testing INIT(= FALSE);
+EXTERN int  no_query_mouse_for_testing INIT(= FALSE);
 
 EXTERN int  in_free_unref_items INIT(= FALSE);
 #endif
diff --git a/src/os_unix.c b/src/os_unix.c
index 528089b..a78b330 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5940,7 +5940,8 @@
     if (WantQueryMouse)
     {
 	WantQueryMouse = FALSE;
-	mch_write((char_u *)IF_EB("\033[1'|", ESC_STR "[1'|"), 5);
+	if (!no_query_mouse_for_testing)
+	    mch_write((char_u *)IF_EB("\033[1'|", ESC_STR "[1'|"), 5);
     }
 #endif
 
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index 7c424cd..17c1534 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -8,9 +8,16 @@
 source shared.vim
 
 " xterm2 and sgr always work, urxvt is optional.
-let s:test_ttymouse = ['xterm2', 'sgr']
+let s:ttymouse_values = ['xterm2', 'sgr']
 if has('mouse_urxvt')
-  call add(s:test_ttymouse, 'urxvt')
+  call add(s:ttymouse_values, 'urxvt')
+endif
+
+" dec doesn't support all the functionality
+if has('mouse_dec')
+  let s:ttymouse_dec = ['dec']
+else
+  let s:ttymouse_dec = []
 endif
 
 " Helper function to emit a terminal escape code.
@@ -32,12 +39,24 @@
   endif
 endfunc
 
+func DecEscapeCode(code, down, row, col)
+    call feedkeys(printf("\<Esc>[%d;%d;%d;%d&w", a:code, a:down, a:row, a:col), 'Lx!')
+endfunc
+
 func MouseLeftClick(row, col)
-  call TerminalEscapeCode(0, a:row, a:col, 'M')
+  if &ttymouse ==# 'dec'
+    call DecEscapeCode(2, 4, a:row, a:col)
+  else
+    call TerminalEscapeCode(0, a:row, a:col, 'M')
+  endif
 endfunc
 
 func MouseMiddleClick(row, col)
-  call TerminalEscapeCode(1, a:row, a:col, 'M')
+  if &ttymouse ==# 'dec'
+    call DecEscapeCode(4, 2, a:row, a:col)
+  else
+    call TerminalEscapeCode(1, a:row, a:col, 'M')
+  endif
 endfunc
 
 func MouseCtrlLeftClick(row, col)
@@ -51,11 +70,19 @@
 endfunc
 
 func MouseLeftRelease(row, col)
-  call TerminalEscapeCode(3, a:row, a:col, 'm')
+  if &ttymouse ==# 'dec'
+    call DecEscapeCode(3, 0, a:row, a:col)
+  else
+    call TerminalEscapeCode(3, a:row, a:col, 'm')
+  endif
 endfunc
 
 func MouseMiddleRelease(row, col)
-  call TerminalEscapeCode(3, a:row, a:col, 'm')
+  if &ttymouse ==# 'dec'
+    call DecEscapeCode(5, 0, a:row, a:col)
+  else
+    call TerminalEscapeCode(3, a:row, a:col, 'm')
+  endif
 endfunc
 
 func MouseRightRelease(row, col)
@@ -63,7 +90,11 @@
 endfunc
 
 func MouseLeftDrag(row, col)
-  call TerminalEscapeCode(0x20, a:row, a:col, 'M')
+  if &ttymouse ==# 'dec'
+    call DecEscapeCode(1, 4, a:row, a:col)
+  else
+    call TerminalEscapeCode(0x20, a:row, a:col, 'M')
+  endif
 endfunc
 
 func MouseWheelUp(row, col)
@@ -74,15 +105,16 @@
   call TerminalEscapeCode(0x41, a:row, a:col, 'M')
 endfunc
 
-func Test_xterm_mouse_left_click()
+func Test_term_mouse_left_click()
   new
   let save_mouse = &mouse
   let save_term = &term
   let save_ttymouse = &ttymouse
+  call test_override('no_query_mouse', 1)
   set mouse=a term=xterm
   call setline(1, ['line 1', 'line 2', 'line 3 is a bit longer'])
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
     go
@@ -97,6 +129,7 @@
   let &mouse = save_mouse
   let &term = save_term
   let &ttymouse = save_ttymouse
+  call test_override('no_query_mouse', 0)
   bwipe!
 endfunc
 
@@ -107,7 +140,7 @@
   let save_ttymouse = &ttymouse
   set mouse=a term=xterm
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
     help
@@ -121,7 +154,7 @@
     call assert_equal('*usr_02.txt*', expand('<cWORD>'))
 
     call MouseCtrlRightClick(row, col)
-    call MouseLeftRelease(row, col)
+    call MouseRightRelease(row, col)
     call assert_match('help.txt$', bufname('%'), msg)
     call assert_equal('|usr_02.txt|', expand('<cWORD>'))
 
@@ -133,7 +166,7 @@
   let &ttymouse = save_ttymouse
 endfunc
 
-func Test_xterm_mouse_middle_click()
+func Test_term_mouse_middle_click()
   if !WorkingClipboard()
     throw 'Skipped: No working clipboard'
   endif
@@ -142,11 +175,12 @@
   let save_mouse = &mouse
   let save_term = &term
   let save_ttymouse = &ttymouse
+  call test_override('no_query_mouse', 1)
   let save_quotestar = @*
   let @* = 'abc'
   set mouse=a term=xterm
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
     call setline(1, ['123456789', '123456789'])
@@ -175,11 +209,14 @@
   let &mouse = save_mouse
   let &term = save_term
   let &ttymouse = save_ttymouse
+  call test_override('no_query_mouse', 0)
   let @* = save_quotestar
   bwipe!
 endfunc
 
-func Test_xterm_mouse_wheel()
+" TODO: for unclear reasons this test fails if it comes after
+" Test_xterm_mouse_ctrl_click()
+func Test_1xterm_mouse_wheel()
   new
   let save_mouse = &mouse
   let save_term = &term
@@ -187,7 +224,7 @@
   set mouse=a term=xterm
   call setline(1, range(1, 100))
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
     go
@@ -217,13 +254,14 @@
   bwipe!
 endfunc
 
-func Test_xterm_mouse_drag_window_separator()
+func Test_term_mouse_drag_window_separator()
   let save_mouse = &mouse
   let save_term = &term
   let save_ttymouse = &ttymouse
+  call test_override('no_query_mouse', 1)
   set mouse=a term=xterm
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
 
@@ -271,16 +309,18 @@
   let &mouse = save_mouse
   let &term = save_term
   let &ttymouse = save_ttymouse
+  call test_override('no_query_mouse', 0)
 endfunc
 
-func Test_xterm_mouse_drag_statusline()
+func Test_term_mouse_drag_statusline()
   let save_mouse = &mouse
   let save_term = &term
   let save_ttymouse = &ttymouse
+  call test_override('no_query_mouse', 1)
   let save_laststatus = &laststatus
   set mouse=a term=xterm laststatus=2
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
 
@@ -311,17 +351,19 @@
   let &mouse = save_mouse
   let &term = save_term
   let &ttymouse = save_ttymouse
+  call test_override('no_query_mouse', 0)
   let &laststatus = save_laststatus
 endfunc
 
-func Test_xterm_mouse_click_tab()
+func Test_term_mouse_click_tab()
   let save_mouse = &mouse
   let save_term = &term
   let save_ttymouse = &ttymouse
+  call test_override('no_query_mouse', 1)
   set mouse=a term=xterm
   let row = 1
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
     e Xfoo
@@ -359,17 +401,19 @@
   let &mouse = save_mouse
   let &term = save_term
   let &ttymouse = save_ttymouse
+  call test_override('no_query_mouse', 0)
 endfunc
 
-func Test_xterm_mouse_click_X_to_close_tab()
+func Test_term_mouse_click_X_to_close_tab()
   let save_mouse = &mouse
   let save_term = &term
   let save_ttymouse = &ttymouse
+  call test_override('no_query_mouse', 1)
   set mouse=a term=xterm
   let row = 1
   let col = &columns
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
     if ttymouse_val ==# 'xterm2' && col > 223
       " When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported.
       continue
@@ -405,17 +449,19 @@
   let &mouse = save_mouse
   let &term = save_term
   let &ttymouse = save_ttymouse
+  call test_override('no_query_mouse', 0)
 endfunc
 
-func Test_xterm_mouse_drag_to_move_tab()
+func Test_term_mouse_drag_to_move_tab()
   let save_mouse = &mouse
   let save_term = &term
   let save_ttymouse = &ttymouse
+  call test_override('no_query_mouse', 1)
   " Set 'mousetime' to 1 to avoid recognizing a double-click in the loop
   set mouse=a term=xterm mousetime=1
   let row = 1
 
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
     e Xtab1
@@ -451,13 +497,15 @@
   let &mouse = save_mouse
   let &term = save_term
   let &ttymouse = save_ttymouse
+  call test_override('no_query_mouse', 0)
   set mousetime&
 endfunc
 
-func Test_xterm_mouse_double_click_to_create_tab()
+func Test_term_mouse_double_click_to_create_tab()
   let save_mouse = &mouse
   let save_term = &term
   let save_ttymouse = &ttymouse
+  call test_override('no_query_mouse', 1)
   " Set 'mousetime' to a small value, so that double-click works but we don't
   " have to wait long to avoid a triple-click.
   set mouse=a term=xterm mousetime=100
@@ -465,7 +513,7 @@
   let col = 10
 
   let round = 0
-  for ttymouse_val in s:test_ttymouse
+  for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
     let msg = 'ttymouse=' .. ttymouse_val
     exe 'set ttymouse=' .. ttymouse_val
     e Xtab1
@@ -507,6 +555,7 @@
   let &mouse = save_mouse
   let &term = save_term
   let &ttymouse = save_ttymouse
+  call test_override('no_query_mouse', 0)
   set mousetime&
 endfunc
 
diff --git a/src/version.c b/src/version.c
index f3e646c..70eb2ab 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1248,
+/**/
     1247,
 /**/
     1246,
