diff -r d9dd2058ab0d src/org/openbravo/warehouse/advancedwarehouseoperations/eventobserver/OrderLineEventObserver.java
--- a/src/org/openbravo/warehouse/advancedwarehouseoperations/eventobserver/OrderLineEventObserver.java	Fri Jan 05 12:38:52 2018 +0100
+++ b/src/org/openbravo/warehouse/advancedwarehouseoperations/eventobserver/OrderLineEventObserver.java	Tue Mar 13 13:53:03 2018 +0530
@@ -22,6 +22,7 @@
 import org.openbravo.client.kernel.event.EntityPersistenceEvent;
 import org.openbravo.client.kernel.event.EntityPersistenceEventObserver;
 import org.openbravo.client.kernel.event.EntityUpdateEvent;
+import org.openbravo.dal.core.OBContext;
 import org.openbravo.model.common.order.Order;
 import org.openbravo.model.common.order.OrderLine;
 import org.openbravo.model.common.plm.Product;
@@ -156,8 +157,13 @@
   }
 
   private boolean isProductItemStockable(final Product product) {
-    return product != null && product.isStocked()
-        && StringUtils.equals(PRODUCTTYPE_ITEM, product.getProductType());
+    try {
+      OBContext.setAdminMode(false);
+      return product != null && product.isStocked()
+          && StringUtils.equals(PRODUCTTYPE_ITEM, product.getProductType());
+    } finally {
+      OBContext.restorePreviousMode();
+    }
   }
 
   private Order getSalesOrder(final Entity orderLineEntity, final EntityPersistenceEvent event) {
