diff --git a/src/testdir/test86.in b/src/testdir/test86.in
index ab5541f..b169293 100644
--- a/src/testdir/test86.in
+++ b/src/testdir/test86.in
@@ -675,7 +675,7 @@
 # Check GCing iterator that was not fully exhausted
 i = iter(vim.buffers)
 cb.append('i:' + str(next(i)))
-# and also check creating more then one iterator at a time
+# and also check creating more than one iterator at a time
 i2 = iter(vim.buffers)
 cb.append('i2:' + str(next(i2)))
 cb.append('i:' + str(next(i)))
diff --git a/src/testdir/test86.ok b/src/testdir/test86.ok
index 257a5ee..8edb749 100644
--- a/src/testdir/test86.ok
+++ b/src/testdir/test86.ok
@@ -882,11 +882,11 @@
 l[:] = FailingIter():NotImplementedError:('iter',)
 l[:] = FailingIterNext():NotImplementedError:('next',)
 <<< Finished
-nel[1:10:2]  = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',)
+nel[1:10:2]  = "abcK":ValueError:('attempt to assign sequence of size greater than 2 to extended slice',)
 ('a', 'b', 'c', 'O')
 nel[1:10:2]  = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
 ('a', 'b', 'c', 'O')
-nel[1:1:-1]  = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',)
+nel[1:1:-1]  = "a":ValueError:('attempt to assign sequence of size greater than 0 to extended slice',)
 ('a', 'b', 'c', 'O')
 nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
 ('a', 'b', 'c', 'O')
@@ -1233,8 +1233,8 @@
 >>> Testing NumberToLong using vim.buffers[%s]
 vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',)
 vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',)
-vim.buffers[-1]:ValueError:('number must be greater then zero',)
-vim.buffers[0]:ValueError:('number must be greater then zero',)
+vim.buffers[-1]:ValueError:('number must be greater than zero',)
+vim.buffers[0]:ValueError:('number must be greater than zero',)
 <<< Finished
 > Current
 >> CurrentGetattr
diff --git a/src/testdir/test87.in b/src/testdir/test87.in
index 1515a90..9111a49 100644
--- a/src/testdir/test87.in
+++ b/src/testdir/test87.in
@@ -664,7 +664,7 @@
 # Check GCing iterator that was not fully exhausted
 i = iter(vim.buffers)
 cb.append('i:' + str(next(i)))
-# and also check creating more then one iterator at a time
+# and also check creating more than one iterator at a time
 i2 = iter(vim.buffers)
 cb.append('i2:' + str(next(i2)))
 cb.append('i:' + str(next(i)))
diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok
index d1ec84c..e616544 100644
--- a/src/testdir/test87.ok
+++ b/src/testdir/test87.ok
@@ -882,11 +882,11 @@
 l[:] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError('iter',))
 l[:] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError('next',))
 <<< Finished
-nel[1:10:2]  = "abcK":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 2 to extended slice',))
+nel[1:10:2]  = "abcK":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater than 2 to extended slice',))
 (b'a', b'b', b'c', b'O')
 nel[1:10:2]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',))
 (b'a', b'b', b'c', b'O')
-nel[1:1:-1]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 0 to extended slice',))
+nel[1:1:-1]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater than 0 to extended slice',))
 (b'a', b'b', b'c', b'O')
 nel[:] = FailingIterNextN(2):(<class 'NotImplementedError'>, NotImplementedError('next N',))
 (b'a', b'b', b'c', b'O')
@@ -1233,8 +1233,8 @@
 >>> Testing NumberToLong using vim.buffers[%s]
 vim.buffers[[]]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got list',))
 vim.buffers[None]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got NoneType',))
-vim.buffers[-1]:(<class 'ValueError'>, ValueError('number must be greater then zero',))
-vim.buffers[0]:(<class 'ValueError'>, ValueError('number must be greater then zero',))
+vim.buffers[-1]:(<class 'ValueError'>, ValueError('number must be greater than zero',))
+vim.buffers[0]:(<class 'ValueError'>, ValueError('number must be greater than zero',))
 <<< Finished
 > Current
 >> CurrentGetattr
diff --git a/src/version.c b/src/version.c
index 4b21368..035b124 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    195,
+/**/
     194,
 /**/
     193,
