diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 1267afb..52e9094 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -546,9 +546,13 @@ main(int argc, char **argv)
 	/* Complain if any arguments remain */
 	if (optind < argc)
 	{
-		fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
-				progname, argv[optind]);
-		fprintf(stderr, _("Try \"%s --help\" for more information.\n"),
+		if (optind > 0 && argv[optind - 1][0] != '-')
+			fprintf(stderr, _("%s: non-option arguments should not precede options.\n"),
+					progname);
+		else
+			fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
+					progname, argv[optind]);
+		fprintf(stderr, _("Non-Try \"%s --help\" for more information.\n"),
 				progname);
 		exit_nicely(1);
 	}
