diff --git a/modules/field/modules/list/list.install b/modules/field/modules/list/list.install
index cc7bcaf79de1d657fa899b8801b6f258c87b1a76..82f24bdfe21149e61f1319e660da90aa52083a4b 100644
--- a/modules/field/modules/list/list.install
+++ b/modules/field/modules/list/list.install
@@ -61,7 +61,7 @@ function list_update_7001() {
       $allowed_values = _list_update_7001_extract_allowed_values($allowed_values, $position_keys);
 
       // Additionally, float keys need to be disambiguated ('.5' is '0.5').
-      if ($field['type'] == 'list_number') {
+      if ($field['type'] == 'list_number' && !empty($allowed_values)) {
         $keys = array_map(create_function('$a', 'return (string) (float) $a;'), array_keys($allowed_values));
         $allowed_values = array_combine($keys, array_values($allowed_values));
       }