diff --git a/contrib/cube/Makefile b/contrib/cube/Makefile
index 0cdb317fda013cd21c4e7c949f9018a87f31fa60..5e396ac8788cd9562ff8da52f4669fa6414db84e 100644
--- a/contrib/cube/Makefile
+++ b/contrib/cube/Makefile
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/contrib/cube/Makefile,v 1.7 2002/11/01 22:52:33 tgl Exp $
+# $Header: /cvsroot/pgsql/contrib/cube/Makefile,v 1.8 2003/01/31 20:58:00 tgl Exp $
 
 subdir = contrib/cube
 top_builddir = ../..
@@ -17,11 +17,17 @@ cubeparse.o: cubescan.c
 
 cubeparse.c: cubeparse.h ;
 
+# The sed hack is so that we can get the same error messages with
+# bison 1.875 and later as we did with earlier bisons.  Eventually,
+# I suppose, we should re-standardize on "syntax error" --- in which
+# case flip the sed translation, but don't remove it.
+
 cubeparse.h: cubeparse.y
 ifdef YACC
 	$(YACC) -d $(YFLAGS) -p cube_yy $<
-	mv -f y.tab.c cubeparse.c
+	sed -e 's/"syntax error/"parse error/' < y.tab.c > cubeparse.c
 	mv -f y.tab.h cubeparse.h
+	rm -f y.tab.c
 else
 	@$(missing) bison $< $@
 endif
diff --git a/contrib/seg/Makefile b/contrib/seg/Makefile
index 350e1347984ca2db5e8504ed62878121e79553ae..bb8ff205d91d7f10e3ea4125efbcff56bd7fc7ec 100644
--- a/contrib/seg/Makefile
+++ b/contrib/seg/Makefile
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/contrib/seg/Makefile,v 1.7 2002/11/01 22:52:33 tgl Exp $
+# $Header: /cvsroot/pgsql/contrib/seg/Makefile,v 1.8 2003/01/31 20:58:00 tgl Exp $
 
 subdir = contrib/seg
 top_builddir = ../..
@@ -16,11 +16,17 @@ segparse.o: segscan.c
 
 segparse.c: segparse.h ;
 
+# The sed hack is so that we can get the same error messages with
+# bison 1.875 and later as we did with earlier bisons.  Eventually,
+# I suppose, we should re-standardize on "syntax error" --- in which
+# case flip the sed translation, but don't remove it.
+
 segparse.h: segparse.y
 ifdef YACC
 	$(YACC) -d $(YFLAGS) -p seg_yy $<
-	mv -f y.tab.c segparse.c
+	sed -e 's/"syntax error/"parse error/' < y.tab.c > segparse.c
 	mv -f y.tab.h segparse.h
+	rm -f y.tab.c
 else
 	@$(missing) bison $< $@
 endif
diff --git a/src/backend/parser/Makefile b/src/backend/parser/Makefile
index c11098eac2ac923d25d15e3177942e3a37c030a8..d2401ec75e78556863f8776013b45f907aecbf74 100644
--- a/src/backend/parser/Makefile
+++ b/src/backend/parser/Makefile
@@ -2,7 +2,7 @@
 #
 # Makefile for parser
 #
-# $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.38 2002/11/01 22:52:33 tgl Exp $
+# $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.39 2003/01/31 20:58:00 tgl Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -38,11 +38,17 @@ gram.o: $(srcdir)/scan.c
 
 $(srcdir)/gram.c: $(srcdir)/parse.h ;
 
+# The sed hack is so that we can get the same error messages with
+# bison 1.875 and later as we did with earlier bisons.  Eventually,
+# I suppose, we should re-standardize on "syntax error" --- in which
+# case flip the sed translation, but don't remove it.
+
 $(srcdir)/parse.h: gram.y
 ifdef YACC
 	$(YACC) -d $(YFLAGS) $<
-	mv -f y.tab.c $(srcdir)/gram.c
+	sed -e 's/"syntax error/"parse error/' < y.tab.c > $(srcdir)/gram.c
 	mv -f y.tab.h $(srcdir)/parse.h
+	rm -f y.tab.c
 else
 	@$(missing) bison $< $@
 endif