diff --git a/src-test/org/openbravo/test/dal/DalPerformanceInventoryLineTest.java b/src-test/org/openbravo/test/dal/DalPerformanceInventoryLineTest.java
--- a/src-test/org/openbravo/test/dal/DalPerformanceInventoryLineTest.java
+++ b/src-test/org/openbravo/test/dal/DalPerformanceInventoryLineTest.java
@@ -22,9 +22,9 @@
 import java.math.BigDecimal;
 
 import org.apache.log4j.Logger;
-import org.hibernate.Hibernate;
 import org.hibernate.criterion.Restrictions;
 import org.openbravo.dal.core.DalUtil;
+import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBCriteria;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.model.materialmgmt.transaction.InventoryCount;
@@ -61,6 +61,8 @@
 
     final OBCriteria<InventoryCount> icObc = OBDal.getInstance().createCriteria(
         InventoryCount.class);
+    icObc.add(Restrictions.eq(InventoryCount.PROPERTY_ORGANIZATION, OBContext.getOBContext()
+        .getCurrentOrganization()));
     icObc.setFirstResult(1);
     icObc.setMaxResults(1);
     icObc.addOrderBy("id", false);
@@ -68,12 +70,14 @@
 
     final OBCriteria<InventoryCountLine> iclObc = OBDal.getInstance().createCriteria(
         InventoryCountLine.class);
+    iclObc.add(Restrictions.eq(InventoryCountLine.PROPERTY_ORGANIZATION, OBContext.getOBContext()
+        .getCurrentOrganization()));
     iclObc.setFirstResult(1);
     iclObc.setMaxResults(1);
     final InventoryCountLine baseLine = (InventoryCountLine) DalUtil.copy(iclObc.list().get(0),
         false);
+    OBDal.getInstance().flush();
     final long time = System.currentTimeMillis();
-    commitTransaction();
     for (int i = 0; i < NO_HEADER; i++) {
       final InventoryCount ic = (InventoryCount) DalUtil.copy(baseIc, false);
       ic.setPosted("N");
@@ -104,17 +108,19 @@
 
     final OBCriteria<InventoryCountLine> iclObc = OBDal.getInstance().createCriteria(
         InventoryCountLine.class);
+    iclObc.add(Restrictions.eq(InventoryCountLine.PROPERTY_ORGANIZATION, OBContext.getOBContext()
+        .getCurrentOrganization()));
     iclObc.setFirstResult(1);
     iclObc.setMaxResults(1);
     final InventoryCountLine baseLine = (InventoryCountLine) DalUtil.copy(iclObc.list().get(0),
         false);
     final long time = System.currentTimeMillis();
-    Hibernate.initialize(baseLine.getUpdatedBy());
-    Hibernate.initialize(baseLine.getCreatedBy());
-    commitTransaction();
+    OBDal.getInstance().flush();
 
     final OBCriteria<InventoryCount> icObc = OBDal.getInstance().createCriteria(
         InventoryCount.class);
+    icObc.add(Restrictions.eq(InventoryCount.PROPERTY_ORGANIZATION, OBContext.getOBContext()
+        .getCurrentOrganization()));
     icObc.add(Restrictions.like("name", NAME_PREFIX + "%"));
     int cnt = 0;
     int cntLine = 0;
diff --git a/src/org/openbravo/dal/core/OBInterceptor.java b/src/org/openbravo/dal/core/OBInterceptor.java
--- a/src/org/openbravo/dal/core/OBInterceptor.java
+++ b/src/org/openbravo/dal/core/OBInterceptor.java
@@ -85,6 +85,11 @@
     disableCheckReferencedOrganizations.set(value);
   }
 
+  public static boolean getDisableCheckReferencedOrganizations() {
+    return disableCheckReferencedOrganizations.get() != null
+        && disableCheckReferencedOrganizations.get();
+  }
+
   private Interceptor interceptorListener;
 
   /**
diff --git a/src/org/openbravo/service/db/DataImportService.java b/src/org/openbravo/service/db/DataImportService.java
--- a/src/org/openbravo/service/db/DataImportService.java
+++ b/src/org/openbravo/service/db/DataImportService.java
@@ -42,15 +42,16 @@
 import org.openbravo.base.util.Check;
 import org.openbravo.base.validation.ValidationException;
 import org.openbravo.dal.core.OBContext;
+import org.openbravo.dal.core.OBInterceptor;
 import org.openbravo.dal.core.SessionHandler;
 import org.openbravo.dal.core.TriggerHandler;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.dal.xml.EntityResolver;
+import org.openbravo.dal.xml.EntityResolver.ResolvingMode;
 import org.openbravo.dal.xml.EntityXMLProcessor;
 import org.openbravo.dal.xml.PrimitiveReferenceHandler;
 import org.openbravo.dal.xml.StaxXMLEntityConverter;
 import org.openbravo.dal.xml.XMLEntityConverter;
-import org.openbravo.dal.xml.EntityResolver.ResolvingMode;
 import org.openbravo.model.ad.access.Role;
 import org.openbravo.model.ad.access.RoleOrganization;
 import org.openbravo.model.ad.datamodel.Table;
@@ -153,6 +154,11 @@
 
       boolean rolledBack = false;
       OBContext.setAdminMode();
+
+      // disable org check for xml imports to be backward compatible for
+      // older xml data sets
+      final boolean currentOrgCheck = OBInterceptor.getDisableCheckReferencedOrganizations();
+      OBInterceptor.setDisableCheckReferencedOrganizations(true);
       try {
         // disable the triggers to prevent unexpected extra db actions
         // during import
@@ -267,6 +273,8 @@
               .createSQLQuery("UPDATE AD_ROLE_ORGACCESS SET AD_ROLE_ID='0' where AD_ROLE_ID='0'")
               .executeUpdate();
         }
+
+        OBInterceptor.setDisableCheckReferencedOrganizations(currentOrgCheck);
       }
 
       return ir;
@@ -390,6 +398,11 @@
     boolean rolledBack = false;
     List<BaseOBObject> listNew = new Vector<BaseOBObject>();
     List<BaseOBObject> listChanged = new Vector<BaseOBObject>();
+
+    // disable org check for xml imports to be backward compatible for
+    // older xml data sets
+    final boolean currentOrgCheck = OBInterceptor.getDisableCheckReferencedOrganizations();
+    OBInterceptor.setDisableCheckReferencedOrganizations(true);
     try {
       // disable the triggers to prevent unexpected extra db actions
       // during import
@@ -481,6 +494,7 @@
               .createSQLQuery("UPDATE AD_ROLE_ORGACCESS SET AD_ROLE_ID='0' where AD_ROLE_ID='0'")
               .executeUpdate();
       }
+      OBInterceptor.setDisableCheckReferencedOrganizations(currentOrgCheck);
     }
 
     if (ir.hasErrorOccured()) {
