diff --git a/src/org/openbravo/retail/posterminal/OrderLoader.java b/src/org/openbravo/retail/posterminal/OrderLoader.java
--- a/src/org/openbravo/retail/posterminal/OrderLoader.java
+++ b/src/org/openbravo/retail/posterminal/OrderLoader.java
@@ -1057,6 +1057,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 --git a/src/org/openbravo/retail/posterminal/POSUtils.java b/src/org/openbravo/retail/posterminal/POSUtils.java
--- a/src/org/openbravo/retail/posterminal/POSUtils.java
+++ b/src/org/openbravo/retail/posterminal/POSUtils.java
@@ -622,12 +622,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;
diff --git a/src/org/openbravo/retail/posterminal/term/Warehouses.java b/src/org/openbravo/retail/posterminal/term/Warehouses.java
--- a/src/org/openbravo/retail/posterminal/term/Warehouses.java
+++ b/src/org/openbravo/retail/posterminal/term/Warehouses.java
@@ -27,7 +27,7 @@
     String orgId = OBContext.getOBContext().getCurrentOrganization().getId();
     return Arrays
         .asList(new String[] { "select ow.warehouse.id as warehouseid, ow.warehouse.name as warehousename, ow.priority as priority "
-            + "from OrganizationWarehouse as ow where ow.$readableSimpleCriteria and ow.$activeCriteria and ow.organization.id = '"
+            + "from OrganizationWarehouse as ow where ow.warehouse.active = true and ow.$readableSimpleCriteria and ow.$activeCriteria and ow.organization.id = '"
             + orgId + "'" + "order by priority asc" });
   }
 
