diff -u b/src/org/openbravo/retail/posterminal/OrderLoader.java b/src/org/openbravo/retail/posterminal/OrderLoader.java
--- b/src/org/openbravo/retail/posterminal/OrderLoader.java	Sun Jun 05 14:34:00 2016 +0200
+++ b/src/org/openbravo/retail/posterminal/OrderLoader.java	Sun Jun 05 15:12:58 2016 +0200
@@ -358,8 +358,10 @@
           OBCriteria<Locator> locators = OBDal.getInstance().createCriteria(Locator.class);
           locators.add(Restrictions.eq(Locator.PROPERTY_ACTIVE, true));
           locators.add(Restrictions.eq(Locator.PROPERTY_WAREHOUSE, order.getWarehouse()));
+          locators.setMaxResults(2);
+          List<Locator> locatorList = locators.list();
 
-          if (locators.list().isEmpty()) {
+          if (locatorList.isEmpty()) {
             throw new OBException(Utility.messageBD(new DalConnectionProvider(false),
                 "OBPOS_WarehouseNotStorageBin", OBContext.getOBContext().getLanguage()
                     .getLanguage()));
@@ -368,7 +370,7 @@
           shipment = OBProvider.getInstance().get(ShipmentInOut.class);
           createShipment(shipment, order, jsonorder);
           OBDal.getInstance().save(shipment);
-          createShipmentLines(shipment, order, jsonorder, orderlines, lineReferences);
+          createShipmentLines(shipment, order, jsonorder, orderlines, lineReferences, locatorList);
         }
         if (log.isDebugEnabled()) {
           t115 = System.currentTimeMillis();
@@ -1041,18 +1043,14 @@
   }
 
   protected void createShipmentLines(ShipmentInOut shipment, Order order, JSONObject jsonorder,
-      JSONArray orderlines, ArrayList<OrderLine> lineReferences) throws JSONException {
+      JSONArray orderlines, ArrayList<OrderLine> lineReferences, List<Locator> locatorList)
+      throws JSONException {
     int lineNo = 0;
     Locator foundSingleBin = null;
     Entity shplineentity = ModelProvider.getInstance().getEntity(ShipmentInOutLine.class);
 
-    final OBCriteria<Locator> locators = OBDal.getInstance().createCriteria(Locator.class);
-    locators.add(Restrictions.eq(Locator.PROPERTY_ACTIVE, true));
-    locators.add(Restrictions.eq(Locator.PROPERTY_WAREHOUSE, shipment.getWarehouse()));
-    // note the count causes a query but the good thing is that it doesn't cause loading
-    // additional bin locations if there are too many
-    if (locators.count() == 1) {
-      foundSingleBin = (Locator) locators.uniqueResult();
+    if (locatorList.size() == 1) {
+      foundSingleBin = locatorList.get(0);
     }
     for (int i = 0; i < orderlines.length(); i++) {
       String hqlWhereClause;
