diff --git a/src/GNUmakefile.in b/src/GNUmakefile.in
index 5a25488a4e04c3a6ecf9fca7853d95495b7e4315..d34beb9fbd678c51f0730e2ccb15287e770b2611 100644
--- a/src/GNUmakefile.in
+++ b/src/GNUmakefile.in
@@ -7,7 +7,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.12 1997/04/15 18:17:43 scrappy Exp $
+#    $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.13 1997/05/14 03:32:16 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -30,6 +30,7 @@ all:
 	  false ;\
         else true;\
 	fi
+	$(MAKE) -C lextest all
 	$(MAKE) -C utils all
 	$(MAKE) -C backend all
 	$(MAKE) -C libpq all
diff --git a/src/lextest/Makefile b/src/lextest/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..efbc20d34a538b82d5eea5987387bb7d56b8ae93
--- /dev/null
+++ b/src/lextest/Makefile
@@ -0,0 +1,13 @@
+#
+# Makefile - tests for 2.5.3 flex bug
+#
+#
+lextest : lextest.c scan.l
+	$(LEX) scan.l
+	$(CC) -c lex.yy.c
+	$(CC) -c lextest.c
+	$(CC) -o lextest lex.yy.o lextest.o
+	@echo "If this fails, flex is broken" | lextest || echo "You have a buggy version of flex.  Read doc/README.flex for a fix."
+
+clean:
+	rm -f lextest lex.yy.c lex.yy.o lextest.o
diff --git a/src/lextest/lextest.c b/src/lextest/lextest.c
new file mode 100644
index 0000000000000000000000000000000000000000..e8089f2949bf226776bb40bd766ed093796d3b75
--- /dev/null
+++ b/src/lextest/lextest.c
@@ -0,0 +1,10 @@
+main()
+{
+	yylex();
+	return;
+}
+
+yywrap()
+{
+	return 1;
+};
diff --git a/src/lextest/scan.l b/src/lextest/scan.l
new file mode 100644
index 0000000000000000000000000000000000000000..6f801376a335f9ea8fc2cdfde37abfe6c4921eed
--- /dev/null
+++ b/src/lextest/scan.l
@@ -0,0 +1,10 @@
+/*
+	This should work, but non-patched flex 2.5.3 fails because input()
+	doesn't return EOF
+	Bruce Momjian <root@candle.pha.pa.us>
+*/
+%%
+.		{
+				while (input() != EOF)
+				;
+		}