--- nmoderation.module	2004-10-14 23:01:19.000000000 +0100
+++ nmoderation2.module	2004-10-14 23:01:18.000000000 +0100
@@ -1,5 +1,5 @@
 <?php
-// $Id: nmoderation.module,v 1.8 2004/10/13 14:14:01 weitzman Exp $
+// $Id: nmoderation.module,v 1.7 2004/10/13 05:16:28 weitzman Exp $
 
 /**
  * @file
@@ -304,16 +304,21 @@
   $sql = "SELECT SUM(value)AS score FROM {nmoderation_uservotes} WHERE gid = $gid AND realm = '$realm'";
   $result = db_query($sql);
   $row = db_fetch_object($result);
-  $node = node_load(array('nid' => $gid));
-  // have to load terms in order that they don't get lost upon saving the node.
-  $node->taxonomy = array_keys(taxonomy_node_get_terms($gid));
+
   if ($row->score > variable_get('nmoderation_threshold_promote', 4)) {
+    // have to load terms in order that they don't get lost upon saving the node.
+    $node->taxonomy = array_keys(taxonomy_node_get_terms($gid));
+    $node = node_load(array('nid' => $gid));
     $node->promote = 1;
+    node_save($node);
   }
   elseif ($row->score < variable_get('nmoderation_threshold_unpublish', 4)) {
+    // have to load terms in order that they don't get lost upon saving the node.
+    $node->taxonomy = array_keys(taxonomy_node_get_terms($gid));
+    $node = node_load(array('nid' => $gid));
     $node->status = 0;
+    node_save($node);
   }
-  node_save($node);
 }
 
 function nmoderation_list_unvoted($realm = 'node_nid') {
