diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index c51f804..5097081 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -657,6 +657,8 @@
 !  if "$(OPTIMIZE)" != "SPACE"
 OPTFLAG = $(OPTFLAG) /GL
 !  endif
+# Visual Studio 2005 has 'deprecated' many of the standard CRT functions
+CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
 ! endif
 
 # (/Wp64 is deprecated in VC9 and generates an obnoxious warning.)
diff --git a/src/if_ruby.c b/src/if_ruby.c
index 7f2a7d2..f4e1e12 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -21,7 +21,7 @@
 
 #ifdef _WIN32
 # if !defined(DYNAMIC_RUBY) || (RUBY_VERSION < 18)
-#   define NT
+#  define NT
 # endif
 # ifndef DYNAMIC_RUBY
 #  define IMPORT // For static dll usage __declspec(dllimport)
@@ -300,8 +300,8 @@
 #  define rb_float_new			dll_rb_float_new
 #  define rb_ary_new			dll_rb_ary_new
 #  ifdef rb_ary_new4
-#    define RB_ARY_NEW4_MACRO 1
-#    undef rb_ary_new4
+#   define RB_ARY_NEW4_MACRO 1
+#   undef rb_ary_new4
 #  endif
 #  define rb_ary_new4			dll_rb_ary_new4
 #  define rb_ary_push			dll_rb_ary_push
@@ -1071,15 +1071,15 @@
 	    }
 
 	    attr = syn_name2attr((char_u *)"Error");
-# if RUBY_VERSION >= 21
+#if RUBY_VERSION >= 21
 	    bt = rb_funcallv(error, rb_intern("backtrace"), 0, 0);
 	    for (i = 0; i < RARRAY_LEN(bt); i++)
 		msg_attr(RSTRING_PTR(RARRAY_AREF(bt, i)), attr);
-# else
+#else
 	    bt = rb_funcall2(error, rb_intern("backtrace"), 0, 0);
 	    for (i = 0; i < RARRAY_LEN(bt); i++)
 		msg_attr(RSTRING_PTR(RARRAY_PTR(bt)[i]), attr);
-# endif
+#endif
 	    break;
 	default:
 	    vim_snprintf(buff, BUFSIZ, _("E273: unknown longjmp status %d"), state);
diff --git a/src/os_win32.h b/src/os_win32.h
index f1be8c4..abe95b5 100644
--- a/src/os_win32.h
+++ b/src/os_win32.h
@@ -18,12 +18,6 @@
 # endif
 #endif
 
-// Stop the VC2005 compiler from nagging.
-#if _MSC_VER >= 1400
-# define _CRT_SECURE_NO_DEPRECATE
-# define _CRT_NONSTDC_NO_DEPRECATE
-#endif
-
 #define BINARY_FILE_IO
 #define USE_EXE_NAME		// use argv[0] for $VIM
 #define USE_TERM_CONSOLE
diff --git a/src/version.c b/src/version.c
index 8e3f20a..b3f9513 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    246,
+/**/
     245,
 /**/
     244,
diff --git a/src/vim.h b/src/vim.h
index 270109a..ca0f6b1 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -119,12 +119,6 @@
 # endif
 #endif
 
-// Visual Studio 2005 has 'deprecated' many of the standard CRT functions
-#if _MSC_VER >= 1400
-# define _CRT_SECURE_NO_DEPRECATE
-# define _CRT_NONSTDC_NO_DEPRECATE
-#endif
-
 /*
  * VIM_SIZEOF_INT is used in feature.h, and the system-specific included files
  * need items from feature.h.  Therefore define VIM_SIZEOF_INT here.
diff --git a/src/vimio.h b/src/vimio.h
index 402b113..a07620c 100644
--- a/src/vimio.h
+++ b/src/vimio.h
@@ -7,12 +7,6 @@
  * See README.txt for an overview of the Vim source code.
  */
 
-// Visual Studio 2005 has 'deprecated' many of the standard CRT functions
-#if _MSC_VER >= 1400
-# define _CRT_SECURE_NO_DEPRECATE
-# define _CRT_NONSTDC_NO_DEPRECATE
-#endif
-
 // cproto fails on missing include files
 #ifndef PROTO
 # include <io.h>
