Index: modules/field/field.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/field.api.php,v
retrieving revision 1.103
diff -u -p -r1.103 field.api.php
--- modules/field/field.api.php	18 Jan 2011 18:25:17 -0000	1.103
+++ modules/field/field.api.php	1 Feb 2011 04:09:42 -0000
@@ -2338,7 +2338,7 @@ function hook_field_update_forbid($field
   // forbid such an update.
   if ($has_data && count($field['settings']['allowed_values']) < count($prior_field['settings']['allowed_values'])) {
     // Identify the keys that will be lost.
-    $lost_keys = array_diff(array_keys($field['settings']['allowed_values']), array_keys($prior_field['settings']['allowed_values']));
+    $lost_keys = array_diff(array_keys($prior_field['settings']['allowed_values']), array_keys($field['settings']['allowed_values']));
     // If any data exist for those keys, forbid the update.
     $query = new EntityFieldQuery();
     $found = $query
Index: modules/field/modules/list/list.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/modules/list/list.module,v
retrieving revision 1.39
diff -u -p -r1.39 list.module
--- modules/field/modules/list/list.module	18 Dec 2010 00:50:03 -0000	1.39
+++ modules/field/modules/list/list.module	1 Feb 2011 04:09:42 -0000
@@ -344,7 +344,7 @@ function list_allowed_values_string($val
 function list_field_update_forbid($field, $prior_field, $has_data) {
   if ($field['module'] == 'list' && $has_data) {
     // Forbid any update that removes allowed values with actual data.
-    $lost_keys = array_diff(array_keys($field['settings']['allowed_values']), array_keys($prior_field['settings']['allowed_values']));
+    $lost_keys = array_diff(array_keys($prior_field['settings']['allowed_values']), array_keys($field['settings']['allowed_values']));
     if (_list_values_in_use($field, $lost_keys)) {
       throw new FieldUpdateForbiddenException(t('Cannot update a list field to not include keys with existing data.'));
     }
