Index: taxonomy.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v
retrieving revision 1.384
diff -u -p -r1.384 taxonomy.module
--- taxonomy.module	2 Oct 2007 16:15:56 -0000	1.384
+++ taxonomy.module	26 Oct 2007 16:58:08 -0000
@@ -343,11 +343,15 @@ function taxonomy_del_term($tid) {
 function taxonomy_form($vid, $value = 0, $help = NULL, $name = 'taxonomy') {
   $vocabulary = taxonomy_vocabulary_load($vid);
   $help = ($help) ? $help : $vocabulary->help;
-  if ($vocabulary->required) {
-    $blank = 0;
-  }
-  else {
-    $blank = '<'. t('none') .'>';
+  $blank = 0;
+  
+  if (!$vocabulary->multiple) {
+    if ($vocabulary->required) {
+      $blank = 1;
+    }
+    else {
+      $blank = 2;
+    }
   }
 
   return _taxonomy_term_select(check_plain($vocabulary->name), $name, $value, $vid, $help, intval($vocabulary->multiple), $blank);
@@ -891,8 +895,13 @@ function _taxonomy_term_select($title, $
   $tree = taxonomy_get_tree($vocabulary_id);
   $options = array();
 
-  if ($blank) {
-    $options[0] = $blank;
+  switch ($blank) {
+    case 1:
+      $options[''] = '<'. t('- Please choose -') .'>';
+      break;
+    case 2:
+      $options[0] = '<'. t('- None selected -') .'>';
+      break;
   }
   if ($tree) {
     foreach ($tree as $term) {
@@ -902,10 +911,6 @@ function _taxonomy_term_select($title, $
         $options[] = $choice;
       }
     }
-    if (!$blank && !$value) {
-      // required but without a predefined value, so set first as predefined
-      $value = $tree[0]->tid;
-    }
   }
 
   return array('#type' => 'select',
