diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile
index 792ff4a98fc7376858d3c416a888b512805ca8c1..cb22a1c55c68f1bed95aa94046fc5bb5c04f362b 100644
--- a/src/test/regress/GNUmakefile
+++ b/src/test/regress/GNUmakefile
@@ -6,7 +6,7 @@
 # Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
 #
-# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.60 2006/07/19 17:02:59 tgl Exp $
+# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.61 2006/07/20 01:16:57 tgl Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -35,10 +35,7 @@ NOLOCALE += --no-locale
 endif
 
 # stuff to pass into build of pg_regress
-EXTRADEFS = '-DPGBINDIR="$(bindir)"' \
-	'-DLIBDIR="$(libdir)"' \
-	'-DPGSHAREDIR="$(datadir)"' \
-	'-DHOST_TUPLE="$(host_tuple)"' \
+EXTRADEFS = '-DHOST_TUPLE="$(host_tuple)"' \
 	'-DMAKEPROG="$(MAKE)"' \
 	'-DSHELLPROG="$(SHELL)"'
 
@@ -53,9 +50,12 @@ all: submake-libpgport pg_regress$(X)
 pg_regress$(X): pg_regress.o
 	$(CC) $(CFLAGS) $^ $(LDFLAGS) $(LIBS) -o $@
 
-# depend on Makefile.global to ensure that symbol changes propagate
-pg_regress.o: pg_regress.c $(top_builddir)/src/Makefile.global
-	$(CC) $(CFLAGS) $(CPPFLAGS) $(EXTRADEFS) -c -o $@ $<
+# dependencies ensure that path changes propagate
+pg_regress.o: pg_regress.c $(top_builddir)/src/port/pg_config_paths.h
+	$(CC) $(CFLAGS) $(CPPFLAGS) -I$(top_builddir)/src/port $(EXTRADEFS) -c -o $@ $<
+
+$(top_builddir)/src/port/pg_config_paths.h: $(top_builddir)/src/Makefile.global
+	$(MAKE) -C $(top_builddir)/src/port pg_config_paths.h
 
 install: pg_regress$(X)
 	$(INSTALL_PROGRAM) pg_regress$(X) '$(DESTDIR)$(pgxsdir)/$(subdir)/pg_regress$(X)'
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index ad3d0cd3e1bc0bbd6463627421f1fc7c7014f413..bd80cf75355cdd19a176656d8b76a3aeaf13dccf 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.5 2006/07/19 17:02:59 tgl Exp $
+ * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.6 2006/07/20 01:16:57 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -25,6 +25,7 @@
 #include <unistd.h>
 
 #include "getopt_long.h"
+#include "pg_config_paths.h"
 
 #ifndef WIN32
 #define PID_TYPE pid_t
@@ -51,9 +52,11 @@ typedef struct _resultmap
 } _resultmap;
 
 /*
- * Values inserted from Makefile.  (It might seem tempting to get the paths
- * via get_share_path() and friends, but that's not going to work because
- * pg_regress is typically not executed from an installed bin directory.)
+ * Values obtained from pg_config_paths.h and Makefile.  (It might seem
+ * tempting to get the paths via get_share_path() and friends, but that's
+ * not going to work because pg_regress is typically not executed from an
+ * installed bin directory.  In any case, for our purposes the configured
+ * paths are what we want anyway.)
  */
 static char *bindir = PGBINDIR;
 static char *libdir = LIBDIR;