diff --git a/includes/commerce.controller.inc b/includes/commerce.controller.inc
index 1cdd605..bd23e34 100644
--- a/includes/commerce.controller.inc
+++ b/includes/commerce.controller.inc
@@ -21,6 +21,22 @@ class DrupalCommerceEntityController extends DrupalDefaultEntityController imple
   protected $lockedEntities = array();
 
   /**
+   * Enable this controller to lock entities that have 'pessimistic' locking
+   * mode set in self::entityInfo['locking mode'].
+   *
+   * @see self::buildQuery()
+   */
+  protected $pessimisticLocking = TRUE;
+
+  /**
+   * Prevent this controller from locking the entities that it loads.
+   */
+  public function preventLocking() {
+    $this->pessimisticLocking = FALSE;
+    return $this;
+  }
+
+  /**
    * Override of DrupalDefaultEntityController::buildQuery().
    *
    * Handle pessimistic locking.
@@ -28,7 +44,7 @@ class DrupalCommerceEntityController extends DrupalDefaultEntityController imple
   protected function buildQuery($ids, $conditions = array(), $revision_id = FALSE) {
     $query = parent::buildQuery($ids, $conditions, $revision_id);
 
-    if (isset($this->entityInfo['locking mode']) && $this->entityInfo['locking mode'] == 'pessimistic') {
+    if ($this->pessimisticLocking && isset($this->entityInfo['locking mode']) && $this->entityInfo['locking mode'] == 'pessimistic') {
       // In pessimistic locking mode, we issue the load query with a FOR UPDATE
       // clause. This will block all other load queries to the loaded objects
       // but requires us to start a transaction.
diff --git a/modules/order/commerce_order.module b/modules/order/commerce_order.module
index 7bbe0e8..ec42c19 100644
--- a/modules/order/commerce_order.module
+++ b/modules/order/commerce_order.module
@@ -779,6 +779,11 @@ function commerce_order_load_by_number($order_number) {
  *   An array of order objects indexed by order_id.
  */
 function commerce_order_load_multiple($order_ids = array(), $conditions = array(), $reset = FALSE) {
+  $controller = entity_get_controller('commerce_order');
+  if (method_exists($controller, 'preventLocking')) {
+    $controller->preventLocking();
+  }
+
   return entity_load('commerce_order', $order_ids, $conditions, $reset);
 }
 
