diff --git a/restricted_content.module b/restricted_content.module
index 6e46670..077d7ae 100644
--- a/restricted_content.module
+++ b/restricted_content.module
@@ -59,11 +59,13 @@ function restricted_content_node_form(&$form, $default) {
 }
 
 function restricted_content_node_form_submit($form, $form_state) {
-  $nid = $form_state['values']['nid'];
-  $rids = array_keys(array_filter($form_state['values']['restricted_content']['rids']));
-  db_query("DELETE FROM {restricted_content} WHERE nid = %d", $nid);
-  if ($rids) {
-    db_query("INSERT INTO {restricted_content} VALUES (%d, '%s')", $nid, serialize($rids));
+  if ($form_state['values']['nid']) {
+    $nid = $form_state['values']['nid'];
+    $rids = array_keys(array_filter($form_state['values']['restricted_content']['rids']));
+    db_query("DELETE FROM {restricted_content} WHERE nid = %d", $nid);
+    if ($rids) {
+      db_query("INSERT INTO {restricted_content} VALUES (%d, '%s')", $nid, serialize($rids));
+    }
   }
 }
 
@@ -98,6 +100,12 @@ function restricted_content_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
   if ($op == 'delete') {
     db_query("DELETE FROM {restricted_content} WHERE nid = %d", $node->nid);
   }
+  elseif ($op == 'insert') {
+    $rids = array_keys(array_filter($node->restricted_content['rids']));
+       if ($rids) {
+       db_query("INSERT INTO {restricted_content} VALUES (%d,'%s')", $node->nid, serialize($rids));
+       }
+    }
   elseif ($op == 'alter' && !restricted_content_form_access($node->uid) && !restricted_content_node_access($node->nid)) {
     $message = restricted_content_var('message');
     $node->restricted = TRUE;
