diff --git a/reference_option_limit.module b/reference_option_limit.module
index e8df6bf..cd0be15 100644
--- a/reference_option_limit.module
+++ b/reference_option_limit.module
@@ -389,8 +389,36 @@ function reference_option_limit_form_alter(&$form, &$form_state, $form_id) {
         }
       }
       $query->addTag('reference_option_limit');
-      // @todo: add some sort of ordering?
-      // $query->fieldOrderBy('name', 'value', 'ASC') @todo! add some sort of ordering.
+
+      switch ($field_option_limited['type']) {
+        case 'entityreference':
+          $sort_settings = $field_option_limited['settings']['handler_settings']['sort'];
+          switch ($sort_settings['type']) {
+            case 'property':
+              $query->propertyOrderBy($sort_settings['property'], $sort_settings['direction']);
+              break;
+
+            case 'field':
+              list($field, $column) = explode(':', $sort_settings['field'], 2);
+              $query->fieldOrderBy($field, $column, $sort_settings['direction']);
+              break;
+
+            default:
+              break;
+
+          }
+
+          break;
+
+        case 'taxonomy_term_reference':
+          $query->propertyOrderBy('weight', 'ASC');
+          break;
+
+        default:
+          break;
+
+      }
+
       $result = $query->execute();
 
       // Load the resulting entities.
