--- node_privacy_byrole.module.orig	2009-01-21 09:20:48.000000000 +0100
+++ node_privacy_byrole.module	2009-01-21 09:34:51.000000000 +0100
@@ -417,12 +417,13 @@
     $node->node_privacy_byrole['roles'] = $context['node_privacy_byrole']['roles'];
   }
   module_invoke('node_privacy_byrole', 'nodeapi', $node, 'update');
+  node_access_acquire_grants($node);
 }
 
 function node_privacy_byrole_change_role_action_form($context) {
   $form = array();
-  $defaults['#node']->node_privacy_byrole = $context['node_privacy_byrole'];
-  $form += node_privacy_byrole_node_form($defaults);
+  $form['#node']->node_privacy_byrole = isset($context['node_privacy_byrole']) ? $context['node_privacy_byrole'] : NULL;
+  node_privacy_byrole_node_form($form);
 
   unset($form['node_privacy_byrole']['#weight']);
   $form['node_privacy_byrole']['#collapsed'] = FALSE;
