diff --git a/includes/features.field.inc b/includes/features.field.inc
index c11d0d0..36b588a 100644
--- a/includes/features.field.inc
+++ b/includes/features.field.inc
@@ -110,11 +110,17 @@ function field_features_export_render($module, $data, $export = NULL) {
 }
 
 // Helper to enforce consistency in field export arrays.
-function _field_features_export_sort(&$field) {
-  ksort($field);
+function _field_features_export_sort(&$field, $sort = TRUE) {
+
+  // Some arrays are not sorted to preserve order (for example allowed_values).
+  static $sort_blacklist = array('allowed_values');
+
+  if ($sort) {
+    ksort($field);
+  }
   foreach ($field as $k => $v) {
     if (is_array($v)) {
-      _field_features_export_sort($field[$k]);
+      _field_features_export_sort($field[$k], !in_array($k, $sort_blacklist));
     }
   }
 }
