diff --git a/src/testdir/test_scrollbind.vim b/src/testdir/test_scrollbind.vim
index baa24f1..6c5488b 100644
--- a/src/testdir/test_scrollbind.vim
+++ b/src/testdir/test_scrollbind.vim
@@ -30,3 +30,243 @@
   setl noscrollbind
   call assert_equal(0, topLineLeft - topLineRight)
 endfunc
+
+" Test for 'scrollbind'
+func Test_scrollbind_opt()
+  new | only
+  set noscrollbind
+  set scrollopt=ver,jump scrolloff=2 nowrap noequalalways splitbelow
+
+  " Insert the text used for the test
+  append
+
+
+start of window 1
+. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
+. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
+. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
+. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
+. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
+. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
+. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
+. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
+. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
+. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
+. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
+. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
+. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
+. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
+. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
+end of window 1
+
+
+start of window 2
+. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
+. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
+. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
+. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
+. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
+. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
+. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
+. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
+. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
+. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
+. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
+. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
+. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
+. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
+. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
+. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
+end of window 2
+
+.
+
+  " Test using two windows open to one buffer, one extra empty window
+  split
+  new
+  wincmd t
+  resize 8
+  call search('^start of window 1$')
+  normal zt
+  set scrollbind
+  wincmd j
+  resize 7
+  call search('^start of window 2$')
+  normal zt
+  set scrollbind
+
+  " -- start of tests --
+  " Test scrolling down
+  normal L5jHyy
+  wincmd b | normal pr0
+  wincmd t | normal Hyy
+  wincmd b | normal pr1
+  wincmd t | normal L6jHyy
+  wincmd b | normal pr2
+  wincmd k | normal Hyy
+  wincmd b | normal pr3
+
+  " Test scrolling up
+  wincmd t | normal H4k
+  wincmd j | normal H
+  wincmd t | normal Hyy
+  wincmd b | normal pr4
+  wincmd k | normal Hyy
+  wincmd b | normal pr5
+  wincmd k | normal 3k
+  wincmd t | normal H
+  wincmd j | normal Hyy
+  wincmd b | normal pr6
+  wincmd t | normal Hyy
+  wincmd b | normal pr7
+
+  " Test horizontal scrolling
+  set scrollopt+=hor
+  normal gg"zyyG"zpG
+  wincmd t | normal 015zly$
+  wincmd b | normal p"zpG
+  wincmd k | normal y$
+  wincmd b | normal p"zpG
+  wincmd k | normal 10jH7zhg0y$
+  wincmd b | normal p"zpG
+  wincmd t | normal Hg0y$
+  wincmd b | normal p"zpG
+  set scrollopt-=hor
+
+  wincmd b
+  call assert_equal([
+	      \ '',
+	      \ '0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05',
+	      \ '1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05',
+	      \ '2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11',
+	      \ '3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11',
+	      \ '4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06',
+	      \ '5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06',
+	      \ '6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02',
+	      \ '7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02',
+	      \ '56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02',
+	      \ 'UTSRQPONMLKJIHGREDCBA9876543210 02',
+	      \ '. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11',
+	      \ '. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11',
+	      \ ''],  getline(1, '$'))
+  enew!
+
+  " ****** tests using two different buffers *****
+  wincmd t | wincmd j | close
+  wincmd t | set noscrollbind
+  /start of window 2$/,/^end of window 2$/y
+  new
+  wincmd t | wincmd j | normal 4"zpGp
+  wincmd t
+  call search('^start of window 1$')
+  normal zt
+  set scrollbind
+  wincmd j
+  call search('^start of window 2$')
+  normal zt
+  set scrollbind
+
+  " -- start of tests --
+  " Test scrolling down
+  normal L5jHyy
+  wincmd b | normal pr0
+  wincmd t | normal Hyy
+  wincmd b | normal pr1
+  wincmd t | normal L6jHyy
+  wincmd b | normal pr2
+  wincmd k | normal Hyy
+  wincmd b | normal pr3
+
+  " Test scrolling up
+  wincmd t | normal H4k
+  wincmd j | normal H
+  wincmd t | normal Hyy
+  wincmd b | normal pr4
+  wincmd k | normal Hyy
+  wincmd b | normal pr5
+  wincmd k | normal 3k
+  wincmd t | normal H
+  wincmd j | normal Hyy
+  wincmd b | normal pr6
+  wincmd t | normal Hyy
+  wincmd b | normal pr7
+
+  " Test horizontal scrolling
+  set scrollopt+=hor
+  normal gg"zyyG"zpG
+  wincmd t | normal 015zly$
+  wincmd b | normal p"zpG
+  wincmd k | normal y$
+  wincmd b | normal p"zpG
+  wincmd k | normal 10jH7zhg0y$
+  wincmd b | normal p"zpG
+  wincmd t | normal Hg0y$
+  wincmd b | normal p"zpG
+  set scrollopt-=hor
+
+  wincmd b
+  call assert_equal([
+	      \ '',
+	      \ '0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05',
+	      \ '1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05',
+	      \ '2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11',
+	      \ '3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11',
+	      \ '4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06',
+	      \ '5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06',
+	      \ '6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02',
+	      \ '7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02',
+	      \ '56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02',
+	      \ 'UTSRQPONMLKJIHGREDCBA9876543210 02',
+	      \ '. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11',
+	      \ '. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11',
+	      \ ''],  getline(1, '$'))
+  enew!
+
+  " Test 'syncbind'
+  wincmd t | set noscrollbind | normal ggL
+  wincmd j | set noscrollbind | normal ggL
+  set scrollbind
+  wincmd t | set scrollbind | normal G
+  wincmd j | normal G
+  syncbind
+  normal Hk
+  wincmd t | normal H
+  wincmd j | normal Hyy
+  wincmd b | normal p
+  wincmd t | normal yy
+  wincmd b | normal p
+  wincmd t | set noscrollbind | normal ggL
+  wincmd j | set noscrollbind
+  normal ggL
+  set scrollbind
+  wincmd t | set scrollbind
+  wincmd t | normal G
+  wincmd j | normal G
+  wincmd t | syncbind | normal Hk
+  wincmd j | normal H
+  wincmd t | normal Hyy
+  wincmd b | normal p
+  wincmd t | wincmd j | normal yy
+  wincmd b | normal p
+  wincmd t | normal H3k
+  wincmd j | normal H
+  wincmd t | normal Hyy
+  wincmd b | normal p
+  wincmd t | wincmd j | normal yy
+  wincmd b | normal p
+
+  wincmd b
+  call assert_equal([
+	      \ '',
+	      \ '. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16',
+	      \ 'start of window 2',
+	      \ 'start of window 2',
+	      \ '. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16',
+	      \ '. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15',
+	      \ '. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12',
+	      \ ],  getline(1, '$'))
+  enew!
+
+  new | only!
+  set scrollbind& scrollopt& scrolloff& wrap& equalalways& splitbelow&
+endfunc
