diff --git a/plugins/selection/EntityReference_SelectionHandler_Generic.class.php b/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
index ec59f65..884ad3a 100644
--- a/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
+++ b/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
@@ -140,7 +140,10 @@ class EntityReference_SelectionHandler_Generic implements EntityReference_Select
     $results = $query->execute();
 
     if (!empty($results[$entity_type])) {
-      $entities = entity_load($entity_type, array_keys($results[$entity_type]));
+      // Re-use the results as the options array, because rebuilding the
+      // numerically keyed array will break the sort order.
+      $options = $results[$entity_type];
+      $entities = entity_load($entity_type, array_keys($options));
       foreach ($entities as $entity_id => $entity) {
         $options[$entity_id] = $this->getLabel($entity);
       }
