diff --git a/src/evalfunc.c b/src/evalfunc.c
index 66be42c..58f1218 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -811,7 +811,6 @@
 #endif
     {"test_alloc_fail",	3, 3, FEARG_1,	  &t_void,	f_test_alloc_fail},
     {"test_autochdir",	0, 0, 0,	  &t_void,	f_test_autochdir},
-    {"test_clear_search_pat",	0, 0, 0,  &t_void,	f_test_clear_search_pat},
     {"test_feedinput",	1, 1, FEARG_1,	  &t_void,	f_test_feedinput},
     {"test_garbagecollect_now",	0, 0, 0,  &t_void,	f_test_garbagecollect_now},
     {"test_garbagecollect_soon", 0, 0, 0, &t_void,	f_test_garbagecollect_soon},
diff --git a/src/proto/regexp.pro b/src/proto/regexp.pro
index 5e8e1a5..01f1fff 100644
--- a/src/proto/regexp.pro
+++ b/src/proto/regexp.pro
@@ -12,7 +12,6 @@
 regprog_T *vim_regcomp(char_u *expr_arg, int re_flags);
 void vim_regfree(regprog_T *prog);
 void free_regexp_stuff(void);
-void free_regexp_prev_sub(void);
 int regprog_in_use(regprog_T *prog);
 int vim_regexec_prog(regprog_T **prog, int ignore_case, char_u *line, colnr_T col);
 int vim_regexec(regmatch_T *rmp, char_u *line, colnr_T col);
diff --git a/src/proto/search.pro b/src/proto/search.pro
index 3b46c06..e6ac11b 100644
--- a/src/proto/search.pro
+++ b/src/proto/search.pro
@@ -9,7 +9,6 @@
 void save_last_search_pattern(void);
 void restore_last_search_pattern(void);
 char_u *last_search_pattern(void);
-void free_last_pat(int idx);
 int ignorecase(char_u *pat);
 int ignorecase_opt(char_u *pat, int ic_in, int scs);
 int pat_has_uppercase(char_u *pat);
diff --git a/src/proto/testing.pro b/src/proto/testing.pro
index 209abf3..2b001a5 100644
--- a/src/proto/testing.pro
+++ b/src/proto/testing.pro
@@ -13,7 +13,6 @@
 void f_assert_true(typval_T *argvars, typval_T *rettv);
 void f_test_alloc_fail(typval_T *argvars, typval_T *rettv);
 void f_test_autochdir(typval_T *argvars, typval_T *rettv);
-void f_test_clear_search_pat(typval_T *argvars, typval_T *rettv);
 void f_test_feedinput(typval_T *argvars, typval_T *rettv);
 void f_test_getvalue(typval_T *argvars, typval_T *rettv);
 void f_test_option_not_set(typval_T *argvars, typval_T *rettv);
diff --git a/src/regexp.c b/src/regexp.c
index 7aeddb8..ef3896c 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -2663,15 +2663,6 @@
 }
 #endif
 
-/*
- * Free the previously used substitute search pattern.
- */
-    void
-free_regexp_prev_sub(void)
-{
-    VIM_CLEAR(reg_prev_sub);
-}
-
 #ifdef FEAT_EVAL
     static void
 report_re_switch(char_u *pat)
diff --git a/src/search.c b/src/search.c
index 0891557..3b310dc 100644
--- a/src/search.c
+++ b/src/search.c
@@ -380,12 +380,6 @@
 }
 #endif
 
-    void
-free_last_pat(int idx)
-{
-    VIM_CLEAR(spats[idx].pat);
-}
-
 /*
  * Return TRUE when case should be ignored for search pattern "pat".
  * Uses the 'ignorecase' and 'smartcase' options.
diff --git a/src/testdir/test_writefile.vim b/src/testdir/test_writefile.vim
index 98a06eb..f616980 100644
--- a/src/testdir/test_writefile.vim
+++ b/src/testdir/test_writefile.vim
@@ -214,6 +214,10 @@
   call assert_fails('1,2write', 'E140:')
   close!
 
+  call assert_fails('w > Xtest', 'E494:')
+
+  call assert_fails('w > Xtest', 'E494:')
+
   " Try to overwrite a directory
   if has('unix')
     call mkdir('Xdir1')
diff --git a/src/testing.c b/src/testing.c
index c2b382b..5dacf07 100644
--- a/src/testing.c
+++ b/src/testing.c
@@ -632,19 +632,6 @@
 }
 
 /*
- * "test_clear_search_pat()"
- * Free the last search and substitute patterns
- */
-    void
-f_test_clear_search_pat(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
-{
-    free_last_pat(RE_SUBST);
-    free_last_pat(RE_SEARCH);
-    set_old_sub(NULL);
-    free_regexp_prev_sub();
-}
-
-/*
  * "test_feedinput()"
  */
     void
diff --git a/src/version.c b/src/version.c
index 7c31c19..a28fc03 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    250,
+/**/
     249,
 /**/
     248,
