diff --git a/src/testdir/test_terminal2.vim b/src/testdir/test_terminal2.vim
index b0eb3fa..deeb86f 100644
--- a/src/testdir/test_terminal2.vim
+++ b/src/testdir/test_terminal2.vim
@@ -536,49 +536,5 @@
   exe buf . 'bwipe'
 endfunc
 
-func Test_terminal_getwinpos()
-  CheckRunVimInTerminal
-
-  " split, go to the bottom-right window
-  split
-  wincmd j
-  set splitright
-
-  call writefile([
-	\ 'echo getwinpos()',
-	\ ], 'XTest_getwinpos')
-  let buf = RunVimInTerminal('-S XTest_getwinpos', {'cols': 60})
-  call TermWait(buf)
-
-  " Find the output of getwinpos() in the bottom line.
-  let rows = term_getsize(buf)[0]
-  call WaitForAssert({-> assert_match('\[\d\+, \d\+\]', term_getline(buf, rows))})
-  let line = term_getline(buf, rows)
-  let xpos = str2nr(substitute(line, '\[\(\d\+\), \d\+\]', '\1', ''))
-  let ypos = str2nr(substitute(line, '\[\d\+, \(\d\+\)\]', '\1', ''))
-
-  " Position must be bigger than the getwinpos() result of Vim itself.
-  " The calculation in the console assumes a 10 x 7 character cell.
-  " In the GUI it can be more, let's assume a 20 x 14 cell.
-  " And then add 100 / 200 tolerance.
-  let [xroot, yroot] = getwinpos()
-  let winpos = 50->getwinpos()
-  call assert_equal(xroot, winpos[0])
-  call assert_equal(yroot, winpos[1])
-  let [winrow, wincol] = win_screenpos('.')
-  let xoff = wincol * (has('gui_running') ? 14 : 7) + 100
-  let yoff = winrow * (has('gui_running') ? 20 : 10) + 200
-  call assert_inrange(xroot + 2, xroot + xoff, xpos)
-  call assert_inrange(yroot + 2, yroot + yoff, ypos)
-
-  call TermWait(buf)
-  call term_sendkeys(buf, ":q\<CR>")
-  call StopVimInTerminal(buf)
-  call delete('XTest_getwinpos')
-  exe buf . 'bwipe!'
-  set splitright&
-  only!
-endfunc
-
 
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_terminal3.vim b/src/testdir/test_terminal3.vim
index add7678..8405cd1 100644
--- a/src/testdir/test_terminal3.vim
+++ b/src/testdir/test_terminal3.vim
@@ -519,5 +519,49 @@
   new | only!
 endfunc
 
+func Test_terminal_getwinpos()
+  CheckRunVimInTerminal
+
+  " split, go to the bottom-right window
+  split
+  wincmd j
+  set splitright
+
+  call writefile([
+	\ 'echo getwinpos()',
+	\ ], 'XTest_getwinpos')
+  let buf = RunVimInTerminal('-S XTest_getwinpos', {'cols': 60})
+  call TermWait(buf)
+
+  " Find the output of getwinpos() in the bottom line.
+  let rows = term_getsize(buf)[0]
+  call WaitForAssert({-> assert_match('\[\d\+, \d\+\]', term_getline(buf, rows))})
+  let line = term_getline(buf, rows)
+  let xpos = str2nr(substitute(line, '\[\(\d\+\), \d\+\]', '\1', ''))
+  let ypos = str2nr(substitute(line, '\[\d\+, \(\d\+\)\]', '\1', ''))
+
+  " Position must be bigger than the getwinpos() result of Vim itself.
+  " The calculation in the console assumes a 10 x 7 character cell.
+  " In the GUI it can be more, let's assume a 20 x 14 cell.
+  " And then add 100 / 200 tolerance.
+  let [xroot, yroot] = getwinpos()
+  let winpos = 50->getwinpos()
+  call assert_equal(xroot, winpos[0])
+  call assert_equal(yroot, winpos[1])
+  let [winrow, wincol] = win_screenpos('.')
+  let xoff = wincol * (has('gui_running') ? 14 : 7) + 100
+  let yoff = winrow * (has('gui_running') ? 20 : 10) + 200
+  call assert_inrange(xroot + 2, xroot + xoff, xpos)
+  call assert_inrange(yroot + 2, yroot + yoff, ypos)
+
+  call TermWait(buf)
+  call term_sendkeys(buf, ":q\<CR>")
+  call StopVimInTerminal(buf)
+  call delete('XTest_getwinpos')
+  exe buf . 'bwipe!'
+  set splitright&
+  only!
+endfunc
+
 
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 19b911e..9d59181 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1198,
+/**/
     1197,
 /**/
     1196,
