diff -uprd grep-2.5.3-orig/src/grep.c grep-2.5.3/src/grep.c
--- grep-2.5.3-orig/src/grep.c	Thu Jun 28 19:57:19 2007
+++ grep-2.5.3/src/grep.c	Fri Jan 23 14:19:52 2009
@@ -412,7 +412,11 @@ context_length_arg (char const *str, int
 
 static char *buffer;		/* Base of buffer. */
 static size_t bufalloc;		/* Allocated buffer size, counting slop. */
+#ifdef _WIN32
+#define INITIAL_BUFSIZE 16384	/* Initial buffer size, not counting slop. */
+#else
 #define INITIAL_BUFSIZE 32768	/* Initial buffer size, not counting slop. */
+#endif
 static int bufdesc;		/* File descriptor. */
 static char *bufbeg;		/* Beginning of user-visible stuff. */
 static char *buflim;		/* Limit of user-visible stuff. */
