diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index 9be7dfc..5f00656 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -1720,8 +1720,17 @@ function taxonomy_term_title($term) {
  */
 function taxonomy_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
   $tags = array();
+  $autocreates = 0;
   foreach ($items as $item) {
-    $tags[$item['tid']] = isset($item['taxonomy_term']) ? $item['taxonomy_term'] : taxonomy_term_load($item['tid']);
+    if ($item['tid'] == 'autocreate') {
+      $tags["autocreate" . $autocreates++] = (object) $item;
+    }
+    elseif (isset($item['taxonomy_term'])) {
+      $tags[$item['tid']] = $item['taxonomy_term'];
+    }
+    else {
+      $tags[$item['tid']] = taxonomy_term_load($item['tid']);
+    }
   }
 
   $element += array(
