diff -r 00996633f79c src/org/openbravo/retail/posterminal/OrderLoader.java
--- a/src/org/openbravo/retail/posterminal/OrderLoader.java	Thu Nov 10 10:18:16 2016 +0100
+++ b/src/org/openbravo/retail/posterminal/OrderLoader.java	Thu Nov 10 13:07:45 2016 +0100
@@ -1047,6 +1047,9 @@
 
       final Warehouse warehouse = (orderLine.getWarehouse() != null ? orderLine.getWarehouse()
           : order.getWarehouse());
+      if (!warehouse.equals(shipment.getWarehouse())) {
+        shipment.setWarehouse(warehouse);
+      }
 
       boolean useSingleBin = foundSingleBin != null && orderLine.getAttributeSetValue() == null
           && orderLine.getProduct().getAttributeSet() == null
diff -r 00996633f79c src/org/openbravo/retail/posterminal/POSUtils.java
--- a/src/org/openbravo/retail/posterminal/POSUtils.java	Thu Nov 10 10:18:16 2016 +0100
+++ b/src/org/openbravo/retail/posterminal/POSUtils.java	Thu Nov 10 13:07:45 2016 +0100
@@ -629,12 +629,9 @@
     OBContext.setAdminMode(false);
     try {
       Organization org = pOSTerminal.getOrganization();
-      OBCriteria<OrgWarehouse> warehouses = OBDal.getInstance().createCriteria(OrgWarehouse.class);
-      warehouses.setFilterOnReadableClients(false);
-      warehouses.setFilterOnReadableOrganization(false);
-      warehouses.add(Restrictions.eq(OrgWarehouse.PROPERTY_ORGANIZATION, org));
-      warehouses.addOrderBy(OrgWarehouse.PROPERTY_PRIORITY, true);
-      warehouses.addOrderBy(OrgWarehouse.PROPERTY_ID, true);
+      OBQuery<OrgWarehouse> warehouses = OBDal.getInstance().createQuery(OrgWarehouse.class,
+          " e where e.organization=:org and e.warehouse.active=true order by priority, id");
+      warehouses.setNamedParameter("org", org);
       List<OrgWarehouse> warehouseList = warehouses.list();
       if (warehouseList.size() == 0) {
         return null;
