All grants returns by node_access_records= Array ( [0] => Array ( [realm] => acl [gid] => 0 [grant_view] => 0 [grant_update] => 0 [grant_delete] => 0 [priority] => 0 [#module] => acl ) [1] => Array ( [realm] => acl [gid] => 0 [grant_view] => 0 [grant_update] => 0 [grant_delete] => 0 [priority] => 0 [#module] => acl ) [2] => Array ( [realm] => acl [gid] => 0 [grant_view] => 0 [grant_update] => 0 [grant_delete] => 0 [priority] => 0 [#module] => acl ) [3] => Array ( [#module] => content_access ) [4] => Array ( [#module] => content_access ) [5] => Array ( [#module] => content_access ) [6] => Array ( [grant_view] => 1 [grant_update] => 1 [grant_delete] => 1 [realm] => content_access_rid [gid] => 5 [priority] => 0 [#module] => content_access ) [7] => Array ( [grant_view] => 1 [grant_update] => 1 [grant_delete] => 0 [realm] => content_access_rid [gid] => 4 [priority] => 0 [#module] => content_access ) [8] => Array ( [grant_view] => 1 [grant_update] => 1 [grant_delete] => 1 [realm] => content_access_rid [gid] => 6 [priority] => 0 [#module] => content_access ) [all] => Array ( [realm] => all [gid] => 0 [grant_view] => 1 [grant_update] => 0 [grant_delete] => 0 [priority] => 0 [#module] => content_access ) ) so Im guessing the rows below that have [#module] => content_access [priority] => – are the ones that are bringing over this empty set? not sure why, but thought could help debug $acquired_grants_nid[]=Array ( [realm] => acl [gid] => 0 [grant_view] => 0 [grant_update] => 0 [grant_delete] => 0 [priority] => 0 [#module] => acl )