Index: node_expire.nodeapi.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/node_expire/node_expire.nodeapi.inc,v retrieving revision 1.4 diff -u -p -r1.4 node_expire.nodeapi.inc --- node_expire.nodeapi.inc 31 Jan 2009 01:26:53 -0000 1.4 +++ node_expire.nodeapi.inc 1 Jun 2009 14:37:16 -0000 @@ -50,12 +50,16 @@ function _node_expire_nodeapi(&$ntypes, case 'update': case 'insert': $update = array(); - if (isset($node->node_expire)) { - $update[] = 'nid'; + // has the expiration been removed, or does it exist? + if (isset($node->expire)) { + db_query('DELETE FROM {node_expire} WHERE nid = %d', $node->nid); + // should we create a new record? + if ($node->expire) { + $node->expire = strtotime($node->expire); + $node->expired = FALSE; + drupal_write_record('node_expire', $node); + } } - $node->expire = strtotime($node->expire); - $node->expired = FALSE; - drupal_write_record('node_expire', $node, $update); break; case 'delete':