--- old.module	2007-01-10 07:50:00.000000000 -0600
+++ nodeaccess.module	2007-01-10 07:51:01.000000000 -0600
@@ -249,7 +249,10 @@ function _nodeaccess_save_new($nid, $gra
   foreach ($grants as $realm) {
     foreach ($realm as $grant) {
       $grant[] = $nid;
-      db_query("INSERT INTO {node_access} (gid, realm, grant_view, grant_update, grant_delete, nid) VALUES (%d, '%s', %d, %d, %d, %d)", $grant);
+      //don't write rows where view/update/delete are all zero
+      if ($grant['grant_view']*$grant['grant_update']*$grant['grant_delete']) {
+        db_query("INSERT INTO {node_access} (gid, realm, grant_view, grant_update, grant_delete, nid) VALUES (%d, '%s', %d, %d, %d, %d)", $grant);
+      }
     }
   }
 }
@@ -277,8 +280,11 @@ function _nodeaccess_save_default($grant
   foreach ($grants as $realm) {
     foreach ($realm as $gid => $grant) {
       foreach ($nodes as $nid) {
-        if (!isset($access[$nid][$gid])) { 
-          db_query("INSERT INTO {node_access} (nid, gid, realm, grant_view, grant_update, grant_delete) values($nid, %d, '%s', %d, %d, %d)", $grant);
+        if (!isset($access[$nid][$gid])) {
+          //don't write rows where view/update/delete are all zero
+          if ($grant['grant_view']*$grant['grant_update']*$grant['grant_delete']) {
+            db_query("INSERT INTO {node_access} (nid, gid, realm, grant_view, grant_update, grant_delete) values($nid, %d, '%s', %d, %d, %d)", $grant);
+          }
         }
       }
     }
