diff --git a/src/Makefile b/src/Makefile
index b6dfe75..ff5ae10 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2179,7 +2179,7 @@
 test1 \
 	test_eval \
 	test3 \
-	test30 test37 test39 \
+	test30 test39 \
 	test42 test44 test48 test49 \
 	test52 test59 \
 	test64 test69 \
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index f9f2b65..6442236 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -14,7 +14,6 @@
 # Tests that run on all systems.
 SCRIPTS_ALL = \
 	test3.out \
-	test37.out \
 	test39.out \
 	test42.out \
 	test44.out \
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 8217cc3..9a6d2d7 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -74,7 +74,7 @@
 .SUFFIXES : .out .in
 
 SCRIPT = test1.out test3.out \
-       test30.out test37.out test39.out \
+       test30.out test39.out \
        test42.out test44.out test48.out test49.out \
        test64.out test69.out \
        test72.out test77a.out test88.out \
diff --git a/src/testdir/test37.in b/src/testdir/test37.in
deleted file mode 100644
index 8ca1125..0000000
--- a/src/testdir/test37.in
+++ /dev/null
@@ -1,116 +0,0 @@
-Test for 'scrollbind'. <eralston@computer.org>   Do not add a line below!
-STARTTEST
-:so small.vim
-:set noscrollbind
-:set scrollopt=ver,jump
-:set scrolloff=2
-:set nowrap
-:set noequalalways
-:set splitbelow
-:" TEST using two windows open to one buffer, one extra empty window
-:split
-:new
-t:
-:resize 8
-/^start of window 1$/
-zt:
-:set scrollbind
-j:
-:resize 7
-/^start of window 2$/
-zt:
-:set scrollbind
-:" -- start of tests --
-:" TEST scrolling down
-L5jHyybpr0tHyybpr1tL6jHyybpr2kHyybpr3:
-:" TEST scrolling up
-tH4kjHtHyybpr4kHyybpr5k3ktHjHyybpr6tHyybpr7:
-:" TEST horizontal scrolling
-:set scrollopt+=hor
-gg"zyyG"zpGt015zly$bp"zpGky$bp"zpG:
-k10jH7zhg0y$bp"zpGtHg0y$bp"zpG:
-:set scrollopt-=hor
-:" ****** tests using two different buffers *****
-tj:
-:close
-t:
-:set noscrollbind
-:/^start of window 2$/,/^end of window 2$/y
-:new
-tj4"zpGp:
-t/^start of window 1$/
-zt:
-:set scrollbind
-j:
-/^start of window 2$/
-zt:
-:set scrollbind
-:" -- start of tests --
-:" TEST scrolling down
-L5jHyybpr0tHyybpr1tL6jHyybpr2kHyybpr3:
-:" TEST scrolling up
-tH4kjHtHyybpr4kHyybpr5k3ktHjHyybpr6tHyybpr7:
-:" TEST horizontal scrolling
-:set scrollopt+=hor
-gg"zyyG"zpGt015zly$bp"zpGky$bp"zpG:
-k10jH7zhg0y$bp"zpGtHg0y$bp"zpG:
-:set scrollopt-=hor
-:" TEST syncbind
-t:set noscb
-ggLj:set noscb
-ggL:set scb
-t:set scb
-GjG:syncbind
-HktHjHyybptyybp:
-t:set noscb
-ggLj:set noscb
-ggL:set scb
-t:set scb
-tGjGt:syncbind
-HkjHtHyybptjyybp:
-tH3kjHtHyybptjyybp:
-:" ***** done with tests *****
-:w! test.out             " Write contents of this file
-:qa!
-ENDTEST
-
-
-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
-
-end of test37.in (please don't delete this line)
diff --git a/src/testdir/test37.ok b/src/testdir/test37.ok
deleted file mode 100644
index d0b7485..0000000
--- a/src/testdir/test37.ok
+++ /dev/null
@@ -1,33 +0,0 @@
-
-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
-
-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
-
-. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
-:set scrollbind
-:set scrollbind
-. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
-j:
-. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
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
diff --git a/src/version.c b/src/version.c
index 2dd024f..edc72ec 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1357,
+/**/
     1356,
 /**/
     1355,
