diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 93b6d4c6c22b87edb225ce34f41bd00a8bb6cc9d..fa12fee92a39ac923bf1d189d06b10f0b49d88d9 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.240 2010/03/06 15:28:09 mha Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.241 2010/03/07 17:02:33 mha Exp $
 PostgreSQL documentation
 -->
 
@@ -481,16 +481,6 @@ PostgreSQL documentation
       </listitem>
     </varlistentry>
 
-    <varlistentry>
-      <term><option>--psqlrc=<replaceable class="parameter">FILENAME</></></term>
-      <listitem>
-      <para>
-      Read the start-up file from <replaceable class="parameter">FILENAME</>
-      instead of <filename>~/.psqlrc</>.
-      </para>
-      </listitem>
-    </varlistentry>
-
      <varlistentry>
       <term><option>-1</option></term>
       <term><option>--single-transaction</option></term>
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 8d6350fce2d5e394e39d23b500fe0bec7c4f4fd2..a591dec792ae48c38d44c1b1ba65e9e3bc90b76f 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2010, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/help.c,v 1.156 2010/03/06 15:28:09 mha Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/help.c,v 1.157 2010/03/07 17:02:34 mha Exp $
  */
 #include "postgres_fe.h"
 
@@ -99,7 +99,6 @@ usage(void)
 	printf(_("  -v, --set=, --variable=NAME=VALUE\n"
 			 "                           set psql variable NAME to VALUE\n"));
 	printf(_("  -X, --no-psqlrc          do not read startup file (~/.psqlrc)\n"));
-	printf(_("  --psqlrc=FILENAME        read startup commands from file (instead of ~/.psqlrc)\n"));
 	printf(_("  -1 (\"one\"), --single-transaction\n"
 			 "                           execute command file as a single transaction\n"));
 	printf(_("  --help                   show this help, then exit\n"));
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 6fac694cfbb1a56f50be63a6d8c0242f4e8ef0aa..805909ea2548132f852697a0bceeb0e9240aee7d 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2010, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.163 2010/03/06 15:28:09 mha Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.164 2010/03/07 17:02:34 mha Exp $
  */
 #include "postgres_fe.h"
 
@@ -68,12 +68,11 @@ struct adhoc_opts
 	bool		no_readline;
 	bool		no_psqlrc;
 	bool		single_txn;
-	char	   *psqlrc;
 };
 
 static void parse_psql_options(int argc, char *argv[],
 				   struct adhoc_opts * options);
-static void process_psqlrc(char *argv0, struct adhoc_opts *options);
+static void process_psqlrc(char *argv0);
 static void process_psqlrc_file(char *filename);
 static void showVersion(void);
 static void EstablishVariableSpace(void);
@@ -248,7 +247,8 @@ main(int argc, char *argv[])
 	 */
 	if (options.action == ACT_FILE)
 	{
-		process_psqlrc(argv[0], &options);
+		if (!options.no_psqlrc)
+			process_psqlrc(argv[0]);
 
 		successResult = process_file(options.action_string, options.single_txn);
 	}
@@ -291,7 +291,8 @@ main(int argc, char *argv[])
 	 */
 	else
 	{
-		process_psqlrc(argv[0], &options);
+		if (!options.no_psqlrc)
+			process_psqlrc(argv[0]);
 
 		connection_warnings(true);
 		if (!pset.quiet && !pset.notty)
@@ -354,7 +355,6 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
 		{"password", no_argument, NULL, 'W'},
 		{"expanded", no_argument, NULL, 'x'},
 		{"no-psqlrc", no_argument, NULL, 'X'},
-		{"psqlrc", required_argument, NULL, 1},
 		{"help", no_argument, NULL, '?'},
 		{NULL, 0, NULL, 0}
 	};
@@ -515,9 +515,6 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
 			case 'X':
 				options->no_psqlrc = true;
 				break;
-			case 1:
-				options->psqlrc = pg_strdup(optarg);
-				break;
 			case '1':
 				options->single_txn = true;
 				break;
@@ -566,27 +563,20 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
  * Load .psqlrc file, if found.
  */
 static void
-process_psqlrc(char *argv0, struct adhoc_opts *options)
+process_psqlrc(char *argv0)
 {
 	char		home[MAXPGPATH];
 	char		rc_file[MAXPGPATH];
 	char		my_exec_path[MAXPGPATH];
 	char		etc_path[MAXPGPATH];
 
-	if (options->no_psqlrc)
-		return;
-
 	find_my_exec(argv0, my_exec_path);
 	get_etc_path(my_exec_path, etc_path);
 
 	snprintf(rc_file, MAXPGPATH, "%s/%s", etc_path, SYSPSQLRC);
 	process_psqlrc_file(rc_file);
 
-	if (options->psqlrc)
-	{
-		process_psqlrc_file(options->psqlrc);
-	}
-	else if (get_home_path(home))
+	if (get_home_path(home))
 	{
 		snprintf(rc_file, MAXPGPATH, "%s/%s", home, PSQLRC);
 		process_psqlrc_file(rc_file);