diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 85ba8309d4b66790bd6fdad666db0c287c38415f..2081eb3650e39681f18099243cf06d9029ae504e 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.402 2004/06/03 02:08:03 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.403 2004/06/11 03:54:43 momjian Exp $
  *
  * NOTES
  *
@@ -830,6 +830,10 @@ PostmasterMain(int argc, char *argv[])
 	 */
 	StartupPID = StartupDataBase();
 
+#ifdef EXEC_BACKEND
+	write_nondefault_variables(PGC_POSTMASTER);
+#endif
+
 	status = ServerLoop();
 
 	/*
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 8f1e7084c5957d048198bc59f26eb10ab1c166eb..f050e201e2a097f495351de516334d07a7883249 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.210 2004/05/30 23:40:38 neilc Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.211 2004/06/11 03:54:54 momjian Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -4454,15 +4454,19 @@ read_nondefault_variables(void)
 
 	for (;;)
 	{
+		struct config_generic *record;
+
 		if ((varname = read_string_with_null(fp)) == NULL)
 			break;
 
+		if ((record = find_option(varname)) == NULL)
+			elog(FATAL, "failed to locate variable %s in exec config params file",varname);
 		if ((varvalue = read_string_with_null(fp)) == NULL)
 			elog(FATAL, "invalid format of exec config params file");
 		if (fread(&varsource, sizeof(varsource), 1, fp) == 0)
 			elog(FATAL, "invalid format of exec config params file");
 
-		(void) set_config_option(varname, varvalue, PGC_POSTMASTER,
+		(void) set_config_option(varname, varvalue, record->context,
 								 varsource, false, true);
 		free(varname);
 		free(varvalue);