Index: modules/taxonomy/taxonomy.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.admin.inc,v
retrieving revision 1.29
diff -u -p -r1.29 taxonomy.admin.inc
--- modules/taxonomy/taxonomy.admin.inc	19 Sep 2008 20:25:03 -0000	1.29
+++ modules/taxonomy/taxonomy.admin.inc	24 Sep 2008 14:09:30 -0000
@@ -762,7 +762,7 @@ function taxonomy_form_term_submit($form
     $current_parent_count = count($form_state['values']['parent']);
     $previous_parent_count = count($form['#term']['parent']);
     // Root doesn't count if it's the only parent.
-    if ($current_parent_count == 1 && isset($form_state['values']['parent'][''])) {
+    if ($current_parent_count == 1 && current($form_state['values']['parent']) == 0) {
       $current_parent_count = 0;
       $form_state['values']['parent'] = array();
     }
Index: modules/taxonomy/taxonomy.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v
retrieving revision 1.427
diff -u -p -r1.427 taxonomy.module
--- modules/taxonomy/taxonomy.module	19 Sep 2008 20:25:03 -0000	1.427
+++ modules/taxonomy/taxonomy.module	24 Sep 2008 14:09:30 -0000
@@ -295,7 +295,7 @@ function taxonomy_check_vocabulary_hiera
       $hierarchy = 2;
       break;
     }
-    elseif (count($term->parents) == 1 && 0 !== array_shift($term->parents)) {
+    elseif (count($term->parents) == 1 && current($term->parents) != 0) {
       $hierarchy = 1;
     }
   }
