diff --git a/src/evalvars.c b/src/evalvars.c
index 3aaae13..6ec5c25 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2980,7 +2980,7 @@
  * "setwinvar()" and "settabwinvar()" functions
  */
     static void
-setwinvar(typval_T *argvars, typval_T *rettv UNUSED, int off)
+setwinvar(typval_T *argvars, int off)
 {
     win_T	*win;
     win_T	*save_curwin;
@@ -3381,15 +3381,13 @@
  * "settabvar()" function
  */
     void
-f_settabvar(typval_T *argvars, typval_T *rettv)
+f_settabvar(typval_T *argvars, typval_T *rettv UNUSED)
 {
     tabpage_T	*save_curtab;
     tabpage_T	*tp;
     char_u	*varname, *tabvarname;
     typval_T	*varp;
 
-    rettv->vval.v_number = 0;
-
     if (check_secure())
 	return;
 
@@ -3421,18 +3419,18 @@
  * "settabwinvar()" function
  */
     void
-f_settabwinvar(typval_T *argvars, typval_T *rettv)
+f_settabwinvar(typval_T *argvars, typval_T *rettv UNUSED)
 {
-    setwinvar(argvars, rettv, 1);
+    setwinvar(argvars, 1);
 }
 
 /*
  * "setwinvar()" function
  */
     void
-f_setwinvar(typval_T *argvars, typval_T *rettv)
+f_setwinvar(typval_T *argvars, typval_T *rettv UNUSED)
 {
-    setwinvar(argvars, rettv, 0);
+    setwinvar(argvars, 0);
 }
 
 /*
diff --git a/src/sound.c b/src/sound.c
index c3052fd..9d91f6c 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -351,9 +351,6 @@
 {
     WCHAR	    *wp;
 
-    rettv->v_type = VAR_NUMBER;
-    rettv->vval.v_number = 0;
-
     wp = enc_to_utf16(tv_get_string(&argvars[0]), NULL);
     if (wp == NULL)
 	return;
@@ -375,9 +372,6 @@
     char	buf[32];
     MCIERROR	err;
 
-    rettv->v_type = VAR_NUMBER;
-    rettv->vval.v_number = 0;
-
     esc = vim_strsave_shellescape(tv_get_string(&argvars[0]), FALSE, FALSE);
 
     len = STRLEN(esc) + 5 + 18 + 1;
diff --git a/src/textprop.c b/src/textprop.c
index fa3830c..dfd30dd 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -885,7 +885,7 @@
  * prop_type_get({name} [, {bufnr}])
  */
     void
-f_prop_type_get(typval_T *argvars, typval_T *rettv UNUSED)
+f_prop_type_get(typval_T *argvars, typval_T *rettv)
 {
     char_u *name = tv_get_string(&argvars[0]);
 
diff --git a/src/version.c b/src/version.c
index 6b2c9c8..d159ceb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    85,
+/**/
     84,
 /**/
     83,
