Index: modules/node/content_types.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/content_types.inc,v
retrieving revision 1.49
diff -u -p -r1.49 content_types.inc
--- modules/node/content_types.inc	22 Dec 2007 23:24:25 -0000	1.49
+++ modules/node/content_types.inc	9 Jan 2008 02:59:32 -0000
@@ -20,16 +20,16 @@ function node_overview_types() {
     if (node_hook($type, 'form')) {
       $type_url_str = str_replace('_', '-', $type->type);
       $row = array(
-        l($name, 'admin/content/types/'. $type_url_str),
+        l($name, 'admin/content/node-type/'. $type_url_str),
         check_plain($type->type),
         filter_xss_admin($type->description),
       );
       // Set the edit column.
-      $row[] = array('data' => l(t('edit'), 'admin/content/types/'. $type_url_str));
+      $row[] = array('data' => l(t('edit'), 'admin/content/node-type/'. $type_url_str));
 
       // Set the delete column.
       if ($type->custom) {
-        $row[] = array('data' => l(t('delete'), 'admin/content/types/'. $type_url_str .'/delete'));
+        $row[] = array('data' => l(t('delete'), 'admin/content/node-type/'. $type_url_str .'/delete'));
       }
       else {
         $row[] = array('data' => '');
@@ -233,9 +233,12 @@ function node_type_form_validate($form, 
     if (!preg_match('!^[a-z0-9_]+$!', $type->type)) {
       form_set_error('type', t('The machine-readable name must contain only lowercase letters, numbers, and underscores.'));
     }
-    // The type cannot be just the character '0', since elsewhere we check it using empty().
-    if ($type->type === '0') {
-      form_set_error('type', t("Invalid type. Please enter a type name other than '0' (the character zero)."));
+    // 'theme' conflicts with theme_node_form().
+    // '0' is invalid, since elsewhere we check it using empty().
+    foreach(array('theme', '0') as $invalid) {
+      if ($type->type === $invalid) {
+        form_set_error('type', t("Invalid type. Please enter a type name other than '!invalid'.", array('!invalid' => $invalid)));
+      }
     }
   }
 
@@ -279,7 +282,7 @@ function node_type_form_submit($form, &$
     node_type_reset($type);
   }
   elseif ($op == t('Delete content type')) {
-    $form_state['redirect'] = 'admin/content/types/'. str_replace('_', '-', $type->old_type) .'/delete';
+    $form_state['redirect'] = 'admin/content/node-type/'. str_replace('_', '-', $type->old_type) .'/delete';
     return;
   }
 
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.938
diff -u -p -r1.938 node.module
--- modules/node/node.module	8 Jan 2008 11:27:16 -0000	1.938
+++ modules/node/node.module	9 Jan 2008 02:59:33 -0000
@@ -1434,14 +1434,14 @@ function node_menu() {
       'description' => $type->description,
       'file' => 'node.pages.inc',
     );
-    $items['admin/content/types/'. $type_url_str] = array(
+    $items['admin/content/node-type/'. $type_url_str] = array(
       'title' => $type->name,
       'page callback' => 'drupal_get_form',
       'page arguments' => array('node_type_form', $type),
       'file' => 'content_types.inc',
       'type' => MENU_CALLBACK,
     );
-    $items['admin/content/types/'. $type_url_str .'/delete'] = array(
+    $items['admin/content/node-type/'. $type_url_str .'/delete'] = array(
       'title' => 'Delete',
       'page arguments' => array('node_type_delete_confirm', $type),
       'file' => 'content_types.inc',
