diff --git a/mollom.module b/mollom.module
index 6beb8f1..ebc0ec0 100644
--- a/mollom.module
+++ b/mollom.module
@@ -3716,6 +3716,7 @@ function mollom_action_info() {
       'label' => t('Report node to Mollom as spam and unpublish'),
       'type' => 'node',
       'configurable' => FALSE,
+      'behavior' => array('changes_property'),
       'triggers' => array(
         'node_insert',
         'node_update',
@@ -3774,10 +3775,9 @@ function _mollom_action_unpublish($entity_type, $entities) {
   }
   else if ($entity_type === 'node') {
     // Unpublish the node.
-    db_update("node")
-      ->fields(array("status" => NODE_NOT_PUBLISHED))
-      ->condition("nid", $nids)
-      ->execute();
+    foreach ($nids as $nid) {
+      $entities[$nid]->status = NODE_NOT_PUBLISHED;
+    }
   }
 }
 
