diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLEntityOperationChecker.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLEntityOperationChecker.java
index eb32473d450674d9c0d437c012a87f6d4abb1537..cacb465ab7c9a6473ed5854dddc5f581a3fd95f6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLEntityOperationChecker.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLEntityOperationChecker.java
@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.server;
 import java.util.List;
 import java.util.Map;
 
+import ch.systemsx.cisd.openbis.generic.server.business.bo.MaterialUpdateDTO;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewMaterial;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewProject;
@@ -49,6 +50,11 @@ public class ETLEntityOperationChecker implements IETLEntityOperationChecker
     {
     }
 
+    @Override
+    public void assertMaterialUpdateAllowed(IAuthSession session, List<MaterialUpdateDTO> materials)
+    {
+    }
+
     @Override
     public void assertProjectCreationAllowed(IAuthSession session, List<NewProject> newProjects)
     {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
index a326af7d7da0c6f14df20040438b5593ba62730b..c59d8a4c34e0e0fed719e2e7f70f4eae7d384f12 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
@@ -71,6 +71,7 @@ import ch.systemsx.cisd.openbis.generic.server.business.bo.IRoleAssignmentTable;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleTable;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ISpaceBO;
+import ch.systemsx.cisd.openbis.generic.server.business.bo.MaterialUpdateDTO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.datasetlister.IDatasetLister;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.fetchoptions.experimentlister.ExperimentLister;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.materiallister.IMaterialLister;
@@ -1397,6 +1398,9 @@ public class ETLService extends AbstractCommonServer<IETLLIMSService> implements
             long dataSetsUpdated =
                     updateDataSets(sessionForEntityOperation, operationDetails, progressListener);
 
+            long materialsUpdates =
+                    updateMaterials(sessionForEntityOperation, operationDetails, progressListener);
+
             // If the id is not null, the caller wants to persist the fact that the operation was
             // invoked and completed;
             // if the id is null, the caller does not care.
@@ -1406,8 +1410,8 @@ public class ETLService extends AbstractCommonServer<IETLLIMSService> implements
             }
 
             return new AtomicEntityOperationResult(spacesCreated, projectsCreated,
-                    materialsCreated, experimentsCreated, samplesCreated, samplesUpdated,
-                    dataSetsCreated, dataSetsUpdated);
+                    materialsCreated, materialsUpdates, experimentsCreated, samplesCreated,
+                    samplesUpdated, dataSetsCreated, dataSetsUpdated);
         } finally
         {
             EntityOperationsInProgress.getInstance().removeRegistrationPending(registrationId);
@@ -1488,6 +1492,24 @@ public class ETLService extends AbstractCommonServer<IETLLIMSService> implements
         return index;
     }
 
+    private long updateMaterials(Session session, AtomicEntityOperationDetails operationDetails,
+            IProgressListener progress)
+    {
+        MaterialHelper materialHelper =
+                new MaterialHelper(session, businessObjectFactory, getDAOFactory(),
+                        getPropertiesBatchManager());
+
+        List<MaterialUpdateDTO> allMaterialUpdates = operationDetails.getMaterialUpdates();
+
+        assertMaterialUpdateAllowed(session, allMaterialUpdates);
+
+        materialHelper.updateMaterials(allMaterialUpdates);
+
+        // in material helper call the update of materials - but this has to wait fo change of the
+        // material updates to a map
+        return allMaterialUpdates.size();
+    }
+
     protected void assertMaterialCreationAllowed(Session session,
             Map<String, List<NewMaterial>> materials)
     {
@@ -1497,6 +1519,15 @@ public class ETLService extends AbstractCommonServer<IETLLIMSService> implements
         }
     }
 
+    protected void assertMaterialUpdateAllowed(Session session,
+            List<MaterialUpdateDTO> materialUpdates)
+    {
+        if (materialUpdates != null && materialUpdates.isEmpty() == false)
+        {
+            entityOperationChecker.assertMaterialUpdateAllowed(session, materialUpdates);
+        }
+    }
+
     private SpacePE registerSpaceInternal(Session session, NewSpace newSpace,
             String registratorUserIdOrNull)
     {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/IETLEntityOperationChecker.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/IETLEntityOperationChecker.java
index 0bf0ca20fd97fb45855a7288a691938cc060d8f3..dc852a7ba95c5f0d052d18cb62eca2edad9b0729 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/IETLEntityOperationChecker.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/IETLEntityOperationChecker.java
@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.server;
 import java.util.List;
 import java.util.Map;
 
+import ch.systemsx.cisd.openbis.generic.server.business.bo.MaterialUpdateDTO;
 import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
 import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
 import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
@@ -55,6 +56,9 @@ public interface IETLEntityOperationChecker
     public void assertMaterialCreationAllowed(IAuthSession session,
             Map<String, List<NewMaterial>> materials);
 
+    @RolesAllowed(RoleWithHierarchy.INSTANCE_ETL_SERVER)
+    public void assertMaterialUpdateAllowed(IAuthSession session, List<MaterialUpdateDTO> materials);
+
     @RolesAllowed(
         { RoleWithHierarchy.SPACE_USER, RoleWithHierarchy.SPACE_ETL_SERVER })
     @Capability("CREATE_PROJECTS_VIA_DSS")
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/MaterialHelper.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/MaterialHelper.java
index 35f7d3950a2e6e1ecd406d7359246547098df034..d5a46357dc3e605d31e8f304a486a53e6b3bc1b5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/MaterialHelper.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/MaterialHelper.java
@@ -244,7 +244,7 @@ public class MaterialHelper
                 .getProperties()), existingMaterial.getModificationDate());
     }
 
-    private void updateMaterials(List<MaterialUpdateDTO> updates)
+    public void updateMaterials(List<MaterialUpdateDTO> updates)
     {
         if (updates.isEmpty())
         {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MaterialUpdateDTO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MaterialUpdateDTO.java
index 1a51894c3f97680c34c1b456ce7459cbadca0f8b..c7b14d35797dd61c35f014dcd08318f2638797d6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MaterialUpdateDTO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MaterialUpdateDTO.java
@@ -1,19 +1,23 @@
 package ch.systemsx.cisd.openbis.generic.server.business.bo;
 
+import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
 import ch.systemsx.cisd.common.utilities.AbstractHashable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Describes the material update operation, currently only properties can be changed.
  * 
  * @author Tomasz Pylak
  */
-public class MaterialUpdateDTO extends AbstractHashable
+public class MaterialUpdateDTO extends AbstractHashable implements Serializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private final TechId materialId;
 
     private final List<IEntityProperty> properties;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationDetails.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationDetails.java
index e75942fd576a61a14dd051a6d59a66df2caca400..7ba4727d45959ec508cc94dacb7040e464bf3392 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationDetails.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationDetails.java
@@ -25,6 +25,7 @@ import java.util.TreeMap;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
 
+import ch.systemsx.cisd.openbis.generic.server.business.bo.MaterialUpdateDTO;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewMaterial;
@@ -64,6 +65,8 @@ public class AtomicEntityOperationDetails implements Serializable
 
     private final Map<String /* material type */, List<NewMaterial>> materialRegistrations;
 
+    private final List<MaterialUpdateDTO> materialUpdates;
+
     private final List<? extends NewExternalData> dataSetRegistrations;
 
     private final List<DataSetBatchUpdatesDTO> dataSetUpdates;
@@ -75,6 +78,7 @@ public class AtomicEntityOperationDetails implements Serializable
             List<NewExperiment> experimentRegistrations, List<SampleUpdatesDTO> sampleUpdates,
             List<NewSample> sampleRegistrations,
             Map<String, List<NewMaterial>> materialRegistrations,
+            List<MaterialUpdateDTO> materialUpdates,
             List<? extends NewExternalData> dataSetRegistrations,
             List<DataSetBatchUpdatesDTO> dataSetUpdates)
     {
@@ -87,10 +91,13 @@ public class AtomicEntityOperationDetails implements Serializable
         this.sampleUpdates = new ArrayList<SampleUpdatesDTO>(sampleUpdates);
         this.sampleRegistrations = new ArrayList<NewSample>(sampleRegistrations);
         this.materialRegistrations = new TreeMap<String, List<NewMaterial>>(materialRegistrations);
+        this.materialUpdates = new ArrayList<MaterialUpdateDTO>(materialUpdates);
         this.dataSetRegistrations = new ArrayList<NewExternalData>(dataSetRegistrations);
         this.dataSetUpdates = new ArrayList<DataSetBatchUpdatesDTO>(dataSetUpdates);
     }
 
+    // TODO: KUBA - put here the material updates as well
+
     public AtomicEntityOperationDetails(TechId registrationId, String userIdOrNull,
             List<NewSpace> spaceRegistrations, List<NewProject> projectRegistrations,
             List<NewExperiment> experimentRegistrations, List<SampleUpdatesDTO> sampleUpdates,
@@ -101,7 +108,7 @@ public class AtomicEntityOperationDetails implements Serializable
     {
         this(registrationId, userIdOrNull, spaceRegistrations, projectRegistrations,
                 experimentRegistrations, sampleUpdates, sampleRegistrations, materialRegistrations,
-                dataSetRegistrations, dataSetUpdates);
+                new ArrayList<MaterialUpdateDTO>(), dataSetRegistrations, dataSetUpdates);
         this.batchSizeOrNull = batchSizeOrNull;
     }
 
@@ -160,6 +167,11 @@ public class AtomicEntityOperationDetails implements Serializable
         return materialRegistrations;
     }
 
+    public List<MaterialUpdateDTO> getMaterialUpdates()
+    {
+        return materialUpdates;
+    }
+
     public Integer getBatchSizeOrNull()
     {
         return batchSizeOrNull;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationResult.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationResult.java
index e59f406b0baeab5e4270972fe3771987284eb9d5..ce13c47ff2c87045bfde5ae27103e4d555904511 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationResult.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationResult.java
@@ -17,15 +17,6 @@
 package ch.systemsx.cisd.openbis.generic.shared.dto;
 
 import java.io.Serializable;
-import java.util.Collections;
-import java.util.List;
-
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
 
 /**
  * @author Chandrasekhar Ramakrishnan
@@ -40,6 +31,8 @@ public class AtomicEntityOperationResult implements Serializable
 
     private final long materialsCreatedCount;
 
+    private final long materialsUpdatedCount;
+
     private final long experimentsCreatedCount;
 
     private final long samplesCreatedCount;
@@ -52,29 +45,17 @@ public class AtomicEntityOperationResult implements Serializable
 
     public AtomicEntityOperationResult()
     {
-        this(Collections.<Space> emptyList(), Collections.<Project> emptyList(), Collections
-                .<Experiment> emptyList(), Collections.<Sample> emptyList(), Collections
-                .<Sample> emptyList(), Collections.<Material> emptyList(), Collections
-                .<ExternalData> emptyList(), Collections.<ExternalData> emptyList());
-    }
-
-    public AtomicEntityOperationResult(List<Space> spacesCreated, List<Project> projectsCreated,
-            List<Experiment> experimentsCreated, List<Sample> samplesUpdated,
-            List<Sample> samplesCreated, List<Material> materialsCreated,
-            List<ExternalData> dataSetsCreated, List<ExternalData> dataSetsUpdated)
-    {
-        this(spacesCreated.size(), projectsCreated.size(), materialsCreated.size(),
-                experimentsCreated.size(), samplesCreated.size(), samplesUpdated.size(),
-                dataSetsCreated.size(), dataSetsUpdated.size());
+        this(0, 0, 0, 0, 0, 0, 0, 0, 0);
     }
 
     public AtomicEntityOperationResult(long spacesCreated, long projectsCreated,
-            long materialsCreated, long experimentsCreated, long samplesCreated,
-            long samplesUpdated, long dataSetsCreated, long dataSetsUpdated)
+            long materialsCreated, long materialsUpdated, long experimentsCreated,
+            long samplesCreated, long samplesUpdated, long dataSetsCreated, long dataSetsUpdated)
     {
         this.spacesCreatedCount = spacesCreated;
         this.projectsCreatedCount = projectsCreated;
         this.materialsCreatedCount = materialsCreated;
+        this.materialsUpdatedCount = materialsUpdated;
         this.experimentsCreatedCount = experimentsCreated;
         this.samplesCreatedCount = samplesCreated;
         this.samplesUpdatedCount = samplesUpdated;
@@ -128,4 +109,9 @@ public class AtomicEntityOperationResult implements Serializable
     {
         return materialsCreatedCount;
     }
+
+    public long getMaterialsUpdateCount()
+    {
+        return materialsUpdatedCount;
+    }
 }
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceDatabaseTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceDatabaseTest.java
index ca7987900ab637dc9a3557359f70b816547ebeea..d2b2acbae3dc3e0fa2e307600d0ef0a760367cf3 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceDatabaseTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceDatabaseTest.java
@@ -36,6 +36,7 @@ import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
+import ch.systemsx.cisd.openbis.generic.server.business.bo.MaterialUpdateDTO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.AbstractDAOTest;
 import ch.systemsx.cisd.openbis.generic.shared.IETLLIMSService;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria;
@@ -403,13 +404,14 @@ public class ETLServiceDatabaseTest extends AbstractDAOTest
         List<SampleUpdatesDTO> sampleUpdates = Collections.emptyList();
         List<NewSample> sampleRegistrations = Arrays.asList(sampleToCreate);
         Map<String, List<NewMaterial>> materialRegistrations = Collections.emptyMap();
+        List<MaterialUpdateDTO> materialUpdates = Collections.emptyList();
         List<? extends NewExternalData> dataSetRegistrations = Collections.emptyList();
         List<DataSetBatchUpdatesDTO> dataSetUpdates = Collections.emptyList();
         AtomicEntityOperationDetails details =
                 new AtomicEntityOperationDetails(registrationid, null, spaceRegistrations,
                         projectRegistrations, experimentRegistrations, sampleUpdates,
-                        sampleRegistrations, materialRegistrations, dataSetRegistrations,
-                        dataSetUpdates);
+                        sampleRegistrations, materialRegistrations, materialUpdates,
+                        dataSetRegistrations, dataSetUpdates);
         service.performEntityOperations(sessionToken, details);
     }
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
index 3292223485ae796768a5dea01881a2edc01fd98a..f19c3461ad1a9573f702009f9a06ddc582a30963 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
@@ -41,6 +41,7 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.generic.server.business.IDataStoreServiceFactory;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ICommonBusinessObjectFactory;
+import ch.systemsx.cisd.openbis.generic.server.business.bo.MaterialUpdateDTO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.PersistencyResources;
 import ch.systemsx.cisd.openbis.generic.shared.AbstractServerTestCase;
 import ch.systemsx.cisd.openbis.generic.shared.CommonTestUtils;
@@ -983,6 +984,9 @@ public class ETLServiceTest extends AbstractServerTestCase
                 new HashMap<String, List<NewMaterial>>();
         materialRegistrations.put(materialType.getCode(), Arrays.asList(newMaterial));
 
+        // TODO: KUBA - put here the test for the material updates
+        List<MaterialUpdateDTO> materialUpdates = new ArrayList<MaterialUpdateDTO>();
+
         final SamplePE newSamplePE = createSampleWithExperiment(experiment);
         newSamplePE.setCode("SAMPLE_CODE_NEW");
         final SampleIdentifier newSampleIdentifier = newSamplePE.getSampleIdentifier();
@@ -1010,7 +1014,7 @@ public class ETLServiceTest extends AbstractServerTestCase
                         new ArrayList<NewProject>(), new ArrayList<NewExperiment>(),
                         Collections.singletonList(sampleUpdate),
                         Collections.singletonList(newSample), materialRegistrations,
-                        Collections.singletonList(externalData),
+                        materialUpdates, Collections.singletonList(externalData),
                         Collections.singletonList(dataSetUpdate));
 
         AtomicEntityOperationResult result =
@@ -1157,6 +1161,9 @@ public class ETLServiceTest extends AbstractServerTestCase
                 new HashMap<String, List<NewMaterial>>();
         materialRegistrations.put(materialType.getCode(), Arrays.asList(newMaterial));
 
+        // TODO: KUBA - put here the test for the material updates
+        List<MaterialUpdateDTO> materialUpdates = new ArrayList<MaterialUpdateDTO>();
+
         final SamplePE newSamplePE = createSampleWithExperiment(experiment);
         newSamplePE.setCode("SAMPLE_CODE_NEW");
         final SampleIdentifier newSampleIdentifier = newSamplePE.getSampleIdentifier();
@@ -1191,7 +1198,7 @@ public class ETLServiceTest extends AbstractServerTestCase
                         new ArrayList<NewProject>(), new ArrayList<NewExperiment>(),
                         Collections.singletonList(sampleUpdate),
                         Collections.singletonList(newSample), materialRegistrations,
-                        Collections.singletonList(externalData),
+                        materialUpdates, Collections.singletonList(externalData),
                         Collections.singletonList(dataSetUpdate));
 
         AtomicEntityOperationResult result =
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AtomicEntityOperationDetailsTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AtomicEntityOperationDetailsTest.java
index 6577253195f0689016339e01e914a9611e8de8a3..76e45fe1be2926c591deb7d3f6516b1511241306 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AtomicEntityOperationDetailsTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AtomicEntityOperationDetailsTest.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import org.testng.AssertJUnit;
 import org.testng.annotations.Test;
 
+import ch.systemsx.cisd.openbis.generic.server.business.bo.MaterialUpdateDTO;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.AtomicEntityOperationDetails;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetBatchUpdatesDTO;
@@ -54,6 +55,9 @@ public class AtomicEntityOperationDetailsTest extends AssertJUnit
         materialRegistrations.put("material-type-1", newMaterials1);
         materialRegistrations.put("material-type-2", newMaterials2);
 
+        // TODO: KUBA - put here the test for the material updates
+        List<MaterialUpdateDTO> materialUpdates = new ArrayList<MaterialUpdateDTO>();
+
         ArrayList<NewProject> projectRegistrations = new ArrayList<NewProject>();
         projectRegistrations.add(new NewProject("/SPACE/P1", "description"));
         projectRegistrations.add(new NewProject("/SPACE/P2", "description"));
@@ -87,8 +91,8 @@ public class AtomicEntityOperationDetailsTest extends AssertJUnit
         AtomicEntityOperationDetails details =
                 new AtomicEntityOperationDetails(null, null, spaceRegistrations,
                         projectRegistrations, experimentRegistrations, sampleUpdates,
-                        sampleRegistrations, materialRegistrations, dataSetRegistrations,
-                        dataSetUpdates);
+                        sampleRegistrations, materialRegistrations, materialUpdates,
+                        dataSetRegistrations, dataSetUpdates);
 
         assertEquals(
                 "AtomicEntityOperationDetails[registrationIdOrNull=<null>"
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/EntityOperationTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/EntityOperationTest.java
index 4c075d45d7d15a3add25d1d8d0d78d52a1ef05e5..0f5a5aa592152f4085c9febf52418edace77b655 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/EntityOperationTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/EntityOperationTest.java
@@ -29,6 +29,7 @@ import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.AuthorizationFailureException;
+import ch.systemsx.cisd.openbis.generic.server.business.bo.MaterialUpdateDTO;
 import ch.systemsx.cisd.openbis.generic.shared.IETLLIMSService;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSet;
@@ -110,6 +111,8 @@ public class EntityOperationTest extends SystemTestCase
         private final Map<String, List<NewMaterial>> materials =
                 new HashMap<String, List<NewMaterial>>();
 
+        private final List<MaterialUpdateDTO> materialUpdates = new ArrayList<MaterialUpdateDTO>();
+
         private TechId registrationID = new TechId(counter++);
 
         private String userID;
@@ -269,7 +272,8 @@ public class EntityOperationTest extends SystemTestCase
         AtomicEntityOperationDetails create()
         {
             return new AtomicEntityOperationDetails(registrationID, userID, spaces, projects,
-                    experiments, sampleUpdates, samples, materials, dataSets, dataSetUpdates);
+                    experiments, sampleUpdates, samples, materials, materialUpdates, dataSets,
+                    dataSetUpdates);
         }
 
     }