diff --git a/auto_nodetitle.module b/auto_nodetitle.module
index c35a271..ca450bc 100644
--- a/auto_nodetitle.module
+++ b/auto_nodetitle.module
@@ -61,8 +61,16 @@ function auto_nodetitle_node_form_submit($form, &$form_state) {
  * Implementation of hook_nodeapi().
  */
 function auto_nodetitle_nodeapi(&$node, $op) {
-  if ($op == 'presave' && auto_nodetitle_is_needed($node)) {
-    auto_nodetitle_set_title($node);
+  switch ($op) {
+    case 'presave':
+      if (!$node->nid && auto_nodetitle_is_needed($node)) {
+        auto_nodetitle_set_title($node);
+      }
+      break;
+    case 'insert':
+      auto_nodetitle_set_title($node);
+      node_save($node);
+      break;
   }
 }
 
