diff -urp ./modules/menu/menu.module /var/www/drupal7/modules/menu/menu.module
--- ./modules/menu/menu.module	2010-03-07 08:55:14.000000000 +0100
+++ /var/www/drupal7/modules/menu/menu.module	2010-05-17 22:23:03.000000000 +0200
@@ -510,7 +510,7 @@ function menu_node_save($node) {
       $link['link_path'] = "node/$node->nid";
       // If not already set, use the node's title as link title attribute.
       if (empty($link['options']['attributes']['title']) && !$link['customized']) {
-        $link['options']['attributes']['title'] = trim($node->title);
+        $link['options']['attributes']['title'] = trim(isset($node->title));
       }
       if (!menu_link_save($link)) {
         drupal_set_message(t('There was an error saving the menu link.'), 'error');
diff -urp ./modules/node/node.module /var/www/drupal7/modules/node/node.module
--- ./modules/node/node.module	2010-05-17 09:43:36.000000000 +0200
+++ /var/www/drupal7/modules/node/node.module	2010-05-19 19:47:08.000000000 +0200
@@ -1259,11 +1259,20 @@ function node_build_content($node, $view
   // to know when a teaser view is different than a full view.
   $links = array();
   if ($view_mode == 'teaser') {
-    $links['node-readmore'] = array(
-      'title' => t('Read more'),
-      'href' => 'node/' . $node->nid,
-      'attributes' => array('rel' => 'tag', 'title' => strip_tags($node->title))
-    );
+    if (isset($node->title)) {
+      $links['node-readmore'] = array(
+        'title' => t('Read more'),
+        'href' => 'node/' . $node->nid,
+        'attributes' => array('rel' => 'tag', 'title' => strip_tags(isset($node->title)))
+      );
+    }
+    else {
+      $links['node-readmore'] = array(
+        'title' => t('Read more'),
+        'href' => 'node/' . $node->nid,
+        'attributes' => array('rel' => 'tag')
+      );
+    }
   }
   $node->content['links']['node'] = array(
     '#theme' => 'links__node',
@@ -1334,7 +1343,9 @@ function template_preprocess_node(&$vari
 
   $uri = entity_uri('node', $node);
   $variables['node_url']  = url($uri['path'], $uri['options']);
-  $variables['title']     = check_plain($node->title);
+  if (isset($node->title)) {
+    $variables['title']     = check_plain($node->title);
+  }
   $variables['page']      = node_is_page($node);
 
   if (!empty($node->in_preview)) {
diff -urp ./modules/node/node.pages.inc /var/www/drupal7/modules/node/node.pages.inc
--- ./modules/node/node.pages.inc	2010-05-10 08:34:39.000000000 +0200
+++ /var/www/drupal7/modules/node/node.pages.inc	2010-05-17 23:25:35.000000000 +0200
@@ -386,16 +386,31 @@ function node_form_submit($form, &$form_
   $insert = empty($node->nid);
   node_save($node);
   $node_link = l(t('view'), 'node/' . $node->nid);
-  $watchdog_args = array('@type' => $node->type, '%title' => $node->title);
-  $t_args = array('@type' => node_type_get_name($node), '%title' => $node->title);
+  if (isset($node->title)) {
+    $watchdog_args = array('@type' => $node->type, '%title' => $node->title);
+    $t_args = array('@type' => node_type_get_name($node), '%title' => $node->title);
 
-  if ($insert) {
-    watchdog('content', '@type: added %title.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
-    drupal_set_message(t('@type %title has been created.', $t_args));
+    if ($insert) {
+      watchdog('content', '@type: added %title.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
+      drupal_set_message(t('@type %title has been created.', $t_args));
+    }
+    else {
+      watchdog('content', '@type: updated %title.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
+      drupal_set_message(t('@type %title has been updated.', $t_args));
+    }
   }
   else {
-    watchdog('content', '@type: updated %title.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
-    drupal_set_message(t('@type %title has been updated.', $t_args));
+    $watchdog_args = array('@type' => $node->type);
+    $t_args = array('@type' => node_type_get_name($node));
+
+    if ($insert) {
+      watchdog('content', '@type: added.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
+      drupal_set_message(t('@type has been created.', $t_args));
+    }
+    else {
+      watchdog('content', '@type: updated.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
+      drupal_set_message(t('@type has been updated.', $t_args));
+    }
   }
   if ($node->nid) {
     unset($form_state['rebuild']);