diff --git a/sites/all/modules/uc_lto/uc_lto.module b/sites/all/modules/uc_lto/uc_lto.module
index 1851812..b21336e 100644
--- a/sites/all/modules/uc_lto/uc_lto.module
+++ b/sites/all/modules/uc_lto/uc_lto.module
@@ -81,12 +81,12 @@ function uc_lto_nodeapi(&$node, $op, $a3 = NULL) {
         break;
 
       case 'update':
+        $expiration = !is_numeric($node->expiration) ? strtotime($node->expiration) : $node->expiration;
 
         if ($prev_expiration = db_result(db_query('SELECT expiration FROM {uc_lto} WHERE nid = %d', $node->nid))) {
-
-          if ($expiration !== NULL) {
+        
+          if ($expiration !== NULL && $expiration != $prev_expiration) {
             db_query("UPDATE {uc_lto} SET expiration = '%s', type = '%d' WHERE nid = '%d'", $expiration, $node->lto_type, $node->nid);
-
           }
           elseif ($expiration === NULL) {
             db_query("DELETE FROM {uc_lto} WHERE nid = '%d'", $node->nid);
@@ -98,15 +98,14 @@ function uc_lto_nodeapi(&$node, $op, $a3 = NULL) {
         break;
 
       case 'delete':
-
         db_query("DELETE FROM {uc_lto} WHERE nid = '%d'", $node->nid);
         break;
 
       case 'load':
-
+      watchdog('lto', "load: $node->nid");
         $query = db_query("SELECT * FROM {uc_lto} WHERE nid = '%d'", $node->nid);
         $result = db_fetch_object($query);
-
+        
         if ($result !== NULL) {
           $node->expiration = $result->expiration;
           $node->lto_type = $result->type;
