diff --git modules/events.inc modules/events.inc
index a13bbee..dc55a83 100644
--- modules/events.inc
+++ modules/events.inc
@@ -43,6 +43,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 b50e23a..ec389aa 100644
--- tests/rules.test
+++ tests/rules.test
@@ -1619,4 +1619,19 @@ 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');
+    rules_clear_cache(TRUE);
+    $node = $this->drupalCreateNode();
+    $node = node_load($node->nid);
+    RulesLog::logger()->checkLog();
+    $this->assertEqual($node->title, $rand, 'Node title is correct.');
+  }
 }
