diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index f728c12..8faf17f 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -9805,6 +9805,8 @@
 		starting     reset the "starting" variable, see below
 		nfa_fail     makes the NFA regexp engine fail to force a
 			     fallback to the old engine
+		no_query_mouse  do not query the mouse position for "dec"
+				terminals
 		ALL	     clear all overrides ({val} is not used)
 
 		"starting" is to be used when a test should behave like
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,
