diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index 4582217..82bfa1a 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -71,6 +71,7 @@
 
 let s:local_to_window = gettext('(local to window)')
 let s:local_to_buffer = gettext('(local to buffer)')
+let s:global_or_local = gettext('(global or local to buffer)')
 
 " find the window in which the option applies
 " returns 0 for global option, 1 for local option, -1 for error
@@ -257,7 +258,7 @@
 call <SID>AddOption("sections", gettext("nroff macro names that separate sections"))
 call <SID>OptionG("sect", &sect)
 call <SID>AddOption("path", gettext("list of directory names used for file searching"))
-call append("$", gettext("\t(global or local to buffer)"))
+call append("$", "\t" .. s:global_or_local)
 call <SID>OptionG("pa", &pa)
 call <SID>AddOption("cdpath", gettext("list of directory names used for :cd"))
 call <SID>OptionG("cd", &cd)
@@ -282,7 +283,7 @@
 call <SID>AddOption("maxmempattern", gettext("maximum amount of memory in Kbyte used for pattern matching"))
 call append("$", " \tset mmp=" . &mmp)
 call <SID>AddOption("define", gettext("pattern for a macro definition line"))
-call append("$", gettext("\t(global or local to buffer)"))
+call append("$", "\t" .. s:global_or_local)
 call <SID>OptionG("def", &def)
 if has("find_in_path")
   call <SID>AddOption("include", gettext("pattern for an include-file line"))
@@ -300,10 +301,10 @@
 call <SID>AddOption("taglength", gettext("number of significant characters in a tag name or zero"))
 call append("$", " \tset tl=" . &tl)
 call <SID>AddOption("tags", gettext("list of file names to search for tags"))
-call append("$", gettext("\t(global or local to buffer)"))
+call append("$", "\t" .. s:global_or_local)
 call <SID>OptionG("tag", &tag)
 call <SID>AddOption("tagcase", gettext("how to handle case when searching in tags files:\n\"followic\" to follow 'ignorecase', \"ignore\" or \"match\""))
-call append("$", "\t(global or local to buffer)")
+call append("$", "\t" .. s:global_or_local)
 call <SID>OptionG("tc", &tc)
 call <SID>AddOption("tagrelative", gettext("file names in a tags file are relative to the tags file"))
 call <SID>BinOptionG("tr", &tr)
@@ -776,7 +777,7 @@
 
 call <SID>Header(gettext("editing text"))
 call <SID>AddOption("undolevels", gettext("maximum number of changes that can be undone"))
-call append("$", gettext("\t(global or local to buffer)"))
+call append("$", "\t" .. s:global_or_local)
 call append("$", " \tset ul=" . s:old_ul)
 call <SID>AddOption("undofile", gettext("automatically save and restore undo history"))
 call <SID>BinOptionG("udf", &udf)
@@ -836,10 +837,10 @@
   call append("$", "\t" .. s:local_to_buffer)
   call <SID>OptionL("ofu")
   call <SID>AddOption("dictionary", gettext("list of dictionary files for keyword completion"))
-  call append("$", gettext("\t(global or local to buffer)"))
+  call append("$", "\t" .. s:global_or_local)
   call <SID>OptionG("dict", &dict)
   call <SID>AddOption("thesaurus", gettext("list of thesaurus files for keyword completion"))
-  call append("$", gettext("\t(global or local to buffer)"))
+  call append("$", "\t" .. s:global_or_local)
   call <SID>OptionG("tsr", &tsr)
 endif
 call <SID>AddOption("infercase", gettext("adjust case of a keyword completion match"))
@@ -1046,7 +1047,7 @@
 call <SID>AddOption("backupskip", gettext("patterns that specify for which files a backup is not made"))
 call append("$", " \tset bsk=" . &bsk)
 call <SID>AddOption("backupcopy", gettext("whether to make the backup as a copy or rename the existing file"))
-call append("$", gettext("\t(global or local to buffer)"))
+call append("$", "\t" .. s:global_or_local)
 call append("$", " \tset bkc=" . &bkc)
 call <SID>AddOption("backupdir", gettext("list of directories to put backup files in"))
 call <SID>OptionG("bdir", &bdir)
@@ -1059,7 +1060,7 @@
 call <SID>AddOption("writeany", gettext("always write without asking for confirmation"))
 call <SID>BinOptionG("wa", &wa)
 call <SID>AddOption("autoread", gettext("automatically read a file when it was modified outside of Vim"))
-call append("$", gettext("\t(global or local to buffer)"))
+call append("$", "\t" .. s:global_or_local)
 call <SID>BinOptionG("ar", &ar)
 call <SID>AddOption("patchmode", gettext("keep oldest version of a file; specifies file name extension"))
 call <SID>OptionG("pm", &pm)
@@ -1149,7 +1150,7 @@
 call <SID>AddOption("shelltemp", gettext("use a temp file for shell commands instead of using a pipe"))
 call <SID>BinOptionG("stmp", &stmp)
 call <SID>AddOption("equalprg", gettext("program used for \"=\" command"))
-call append("$", gettext("\t(global or local to buffer)"))
+call append("$", "\t" .. s:global_or_local)
 call <SID>OptionG("ep", &ep)
 call <SID>AddOption("formatprg", gettext("program used to format lines with \"gq\" command"))
 call <SID>OptionG("fp", &fp)
@@ -1164,22 +1165,22 @@
   call <SID>AddOption("errorfile", gettext("name of the file that contains error messages"))
   call <SID>OptionG("ef", &ef)
   call <SID>AddOption("errorformat", gettext("list of formats for error messages"))
-  call append("$", gettext("\t(global or local to buffer)"))
+  call append("$", "\t" .. s:global_or_local)
   call <SID>OptionG("efm", &efm)
   call <SID>AddOption("makeprg", gettext("program used for the \":make\" command"))
-  call append("$", gettext("\t(global or local to buffer)"))
+  call append("$", "\t" .. s:global_or_local)
   call <SID>OptionG("mp", &mp)
   call <SID>AddOption("shellpipe", gettext("string used to put the output of \":make\" in the error file"))
   call <SID>OptionG("sp", &sp)
   call <SID>AddOption("makeef", gettext("name of the errorfile for the 'makeprg' command"))
   call <SID>OptionG("mef", &mef)
   call <SID>AddOption("grepprg", gettext("program used for the \":grep\" command"))
-  call append("$", gettext("\t(global or local to buffer)"))
+  call append("$", "\t" .. s:global_or_local)
   call <SID>OptionG("gp", &gp)
   call <SID>AddOption("grepformat", gettext("list of formats for output of 'grepprg'"))
   call <SID>OptionG("gfm", &gfm)
   call <SID>AddOption("makeencoding", gettext("encoding of the \":make\" and \":grep\" output"))
-  call append("$", gettext("\t(global or local to buffer)"))
+  call append("$", "\t" .. s:global_or_local)
   call <SID>OptionG("menc", &menc)
   call <SID>AddOption("quickfixtextfunc", gettext("function to display text in the quickfix window"))
   call <SID>OptionG("qftf", &qftf)
@@ -1404,9 +1405,9 @@
   call <SID>OptionG("tcldll", &tcldll)
 endif
 if exists("&mzschemedll")
-  call <SID>AddOption("mzschemedll", gettext("name of the Tcl dynamic library"))
+  call <SID>AddOption("mzschemedll", gettext("name of the MzScheme dynamic library"))
   call <SID>OptionG("mzschemedll", &mzschemedll)
-  call <SID>AddOption("mzschemegcdll", gettext("name of the Tcl GC dynamic library"))
+  call <SID>AddOption("mzschemegcdll", gettext("name of the MzScheme GC dynamic library"))
   call <SID>OptionG("mzschemegcdll", &mzschemegcdll)
 endif
 
diff --git a/src/version.c b/src/version.c
index 891cdac..20c5f4f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1716,
+/**/
     1715,
 /**/
     1714,
