Index: modules/taxonomy/taxonomy.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.admin.inc,v
retrieving revision 1.101
diff -u -p -r1.101 taxonomy.admin.inc
--- modules/taxonomy/taxonomy.admin.inc	13 Apr 2010 15:23:03 -0000	1.101
+++ modules/taxonomy/taxonomy.admin.inc	22 Apr 2010 23:30:48 -0000
@@ -624,9 +624,15 @@ function taxonomy_form_term($form, &$for
     'format' => filter_default_format(),
     'vocabulary_machine_name' => $vocabulary->machine_name,
     'tid' => NULL,
-    'weight' => 0,
+    'weight' => NULL,
   );
 
+  // Add a default weight for new terms
+  if (!isset($edit['weight'])) {
+    $max_weight = db_query("SELECT MAX(weight) FROM {taxonomy_term_data} WHERE vid = :vid", array(':vid' => $vocabulary->vid))->fetchField();
+    $edit['weight'] = isset($max_weight) ? $max_weight + 1 : 0;
+  }
+
   // Take into account multi-step rebuilding.
   if (isset($form_state['term'])) {
     $edit = $form_state['term'] + $edit;
