diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 8dd8ef28cb767340838687745d14f37178a7b32a..6b2b718c107d3e5380602ed294684e2eac3ebb8e 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -21,7 +21,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.61 1998/01/29 02:26:25 scrappy Exp $
+ *	  $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.62 1998/01/30 15:03:35 scrappy Exp $
  *
  * Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
  *
@@ -2481,11 +2481,26 @@ dumpTables(FILE *fout, TableInfo *tblinfo, int numTables,
 			
 			if (acls) {
 				ACLlist = ParseACL(tblinfo[i].relacl, &l);
+				if (ACLlist == (ACL *)NULL)
+					if (l == 0)
+						continue;
+					else {
+						fprintf(stderr,"Could not parse ACL list for %s...Exiting!\n",
+							tblinfo[i].relname);
+						exit_nicely(g_conn);
+						}
+
+				/* Revoke Default permissions for PUBLIC */
+				fprintf(fout,
+					"REVOKE ALL on %s from PUBLIC;\n",
+						tblinfo[i].relname);
+
 				for(k = 0; k < l; k++) {
-					fprintf(fout,
-							"GRANT %s on %s to %s;\n",
-							ACLlist[k].privledges, tblinfo[i].relname,
-							ACLlist[k].user);
+					if (ACLlist[k].privledges != (char *)NULL)
+						fprintf(fout,
+								"GRANT %s on %s to %s;\n",
+								ACLlist[k].privledges, tblinfo[i].relname,
+								ACLlist[k].user);
 				}
 			}
 		}