diff --git modules/events.inc modules/events.inc
index bd0a900..274a3fb 100644
--- modules/events.inc
+++ modules/events.inc
@@ -44,6 +44,7 @@ function rules_node_update($node) {
 }
 
 function rules_node_insert($node) {
+  unset($node->is_new);
   rules_invoke_event('node_insert', $node);
 }
 
diff --git tests/rules.test tests/rules.test
index b36eff5..b545650 100644
--- tests/rules.test
+++ tests/rules.test
@@ -1583,4 +1583,49 @@ class RulesIntegrationTestCase extends DrupalWebTestCase {
     RulesLog::logger()->checkLog();
   }
 
+  /**
+   * Test auto saving of a new node after it has been inserted into the DB.
+   */
+  function testNodeInsert() {
+    $rule = rules_reaction_rule();
+    $rand = $this->randomName();
+    $rule->event('node_insert')
+         ->action('data_set', array('data:select' => 'node:title', 'value' => $rand));
+    $rule->save('test');
+    $node = $this->drupalCreateNode();
+    $node = node_load($node->nid);
+    RulesLog::logger()->checkLog();
+    $this->assertEqual($node->title, $rand, 'Node title is correct.');
+  }
+
 }
