diff --git a/src/buffer.c b/src/buffer.c
index ba20a61..a3f84c7 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2364,7 +2364,7 @@
 #ifdef FEAT_COMPL_FUNC
     clear_string_option(&buf->b_p_cfu);
     clear_string_option(&buf->b_p_ofu);
-    clear_string_option(&buf->b_p_thsfu);
+    clear_string_option(&buf->b_p_tsrfu);
 #endif
 #ifdef FEAT_QUICKFIX
     clear_string_option(&buf->b_p_gp);
diff --git a/src/insexpand.c b/src/insexpand.c
index 624146a..bcaa3fd 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -301,7 +301,7 @@
 							)
 		 : (*curbuf->b_p_tsr == NUL && *p_tsr == NUL
 #ifdef FEAT_COMPL_FUNC
-		     && *curbuf->b_p_thsfu == NUL
+		     && *curbuf->b_p_tsrfu == NUL
 #endif
 		   ))
     {
@@ -2246,7 +2246,7 @@
 	case CTRL_X_OMNI:
 	    return curbuf->b_p_ofu;
 	case CTRL_X_THESAURUS:
-	    return curbuf->b_p_thsfu;
+	    return curbuf->b_p_tsrfu;
 	default:
 	    return (char_u *)"";
     }
@@ -2751,8 +2751,8 @@
 {
 #ifdef FEAT_COMPL_FUNC
     return (type == CTRL_X_THESAURUS
-		&& curbuf->b_p_thsfu != NULL
-		&& *curbuf->b_p_thsfu != NUL);
+		&& curbuf->b_p_tsrfu != NULL
+		&& *curbuf->b_p_tsrfu != NUL);
 #else
     return FALSE;
 #endif
diff --git a/src/option.c b/src/option.c
index 385126e..7d86ccf 100644
--- a/src/option.c
+++ b/src/option.c
@@ -5433,7 +5433,7 @@
 #ifdef FEAT_COMPL_FUNC
 	case PV_CFU:	return (char_u *)&(curbuf->b_p_cfu);
 	case PV_OFU:	return (char_u *)&(curbuf->b_p_ofu);
-	case PV_THSFU:	return (char_u *)&(curbuf->b_p_thsfu);
+	case PV_THSFU:	return (char_u *)&(curbuf->b_p_tsrfu);
 #endif
 #ifdef FEAT_EVAL
 	case PV_TFU:	return (char_u *)&(curbuf->b_p_tfu);
@@ -5936,7 +5936,7 @@
 	    COPY_OPT_SCTX(buf, BV_CFU);
 	    buf->b_p_ofu = vim_strsave(p_ofu);
 	    COPY_OPT_SCTX(buf, BV_OFU);
-	    buf->b_p_thsfu = vim_strsave(p_thsfu);
+	    buf->b_p_tsrfu = vim_strsave(p_thsfu);
 	    COPY_OPT_SCTX(buf, BV_THSFU);
 #endif
 #ifdef FEAT_EVAL
diff --git a/src/optionstr.c b/src/optionstr.c
index bced92d..7f2b04d 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -271,7 +271,7 @@
 #ifdef FEAT_COMPL_FUNC
     check_string_option(&buf->b_p_cfu);
     check_string_option(&buf->b_p_ofu);
-    check_string_option(&buf->b_p_thsfu);
+    check_string_option(&buf->b_p_tsrfu);
 #endif
 #ifdef FEAT_EVAL
     check_string_option(&buf->b_p_tfu);
diff --git a/src/structs.h b/src/structs.h
index 021206e..bd468a9 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -2864,7 +2864,7 @@
 #ifdef FEAT_COMPL_FUNC
     char_u	*b_p_cfu;	// 'completefunc'
     char_u	*b_p_ofu;	// 'omnifunc'
-    char_u	*b_p_thsfu;	// 'thesaurusfunc'
+    char_u	*b_p_tsrfu;	// 'thesaurusfunc'
 #endif
 #ifdef FEAT_EVAL
     char_u	*b_p_tfu;	// 'tagfunc'
diff --git a/src/version.c b/src/version.c
index 16ba2cf..ba4a990 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3525,
+/**/
     3524,
 /**/
     3523,
