diff --git a/src/move.c b/src/move.c
index ed220f7..21e2a5d 100644
--- a/src/move.c
+++ b/src/move.c
@@ -1229,7 +1229,7 @@
     int		rowoff = 0;
     colnr_T	coloff = 0;
 
-    if (pos->lnum >= wp->w_topline && pos->lnum < wp->w_botline)
+    if (pos->lnum >= wp->w_topline && pos->lnum <= wp->w_botline)
     {
 	colnr_T off;
 	colnr_T col;
@@ -1256,11 +1256,11 @@
 	col -= wp->w_leftcol;
 	if (col >= wp->w_width)
 	    col = -1;
-	if (col >= 0)
+	if (col >= 0 && row + rowoff <= wp->w_height)
 	    coloff = col - scol + wp->w_wincol + 1;
 	else
-	    // character is left or right of the window
-	    row = scol = ccol = ecol = 0;
+	    // character is left, right or below of the window
+	    row = rowoff = scol = ccol = ecol = 0;
     }
     *rowp = W_WINROW(wp) + row + rowoff;
     *scolp = scol + coloff;
diff --git a/src/testdir/test_cursor_func.vim b/src/testdir/test_cursor_func.vim
index bded15e..b943059 100644
--- a/src/testdir/test_cursor_func.vim
+++ b/src/testdir/test_cursor_func.vim
@@ -101,9 +101,25 @@
 	\ 'col': wincol + 9,
 	\ 'curscol': wincol + 9,
 	\ 'endcol': wincol + 9}, screenpos(winid, 2, 22))
+
+  let wininfo = getwininfo(winid)[0]
+  call setline(3, ['x']->repeat(wininfo.height))
+  call setline(line('$') + 1, 'x'->repeat(wininfo.width * 3))
+  setlocal nonumber display=lastline so=0
+  exe "normal G\<C-Y>\<C-Y>"
+  redraw
+  call assert_equal({'row': winrow + wininfo.height - 1,
+	\ 'col': wincol + 7,
+	\ 'curscol': wincol + 7,
+	\ 'endcol': wincol + 7}, winid->screenpos(line('$'), 8))
+  call assert_equal({'row': winrow - 1, 'col': 0, 'curscol': 0, 'endcol': 0},
+        \ winid->screenpos(line('$'), 22))
+
   close
   call assert_equal({}, screenpos(999, 1, 1))
+
   bwipe!
+  set display&
 
   call assert_equal({'col': 1, 'row': 1, 'endcol': 1, 'curscol': 1}, screenpos(win_getid(), 1, 1))
   nmenu WinBar.TEST :
diff --git a/src/version.c b/src/version.c
index cd20693..9533c88 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3193,
+/**/
     3192,
 /**/
     3191,
