diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
index 86999c7d913d3c159b5b30f7a8f4cd88257870e1..8327e0eae4d9e04b342b4629629d83171afd05f4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
@@ -1292,16 +1292,15 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt
 
         for (int i = 0; i < fin.size(); i++)
         {
-            if (i < fin.size() && i < ini.size()) // Is Check Possible
+            newETNewPTAssigments.getAssigments().get(i).getAssignment().setModificationDate(null);
+            if (i < ini.size()) // Is Check Possible
             {
                 if (ini.get(i).equals(fin.get(i))) // Do nothing.
                 {
-                    // Positions are equal but maibe the data have changed.
-                    if (ini.get(i).getOrdinal() != fin.get(i).getOrdinal())
-                    {
-                        updatePropertyTypeAssignment(sessionToken, newETNewPTAssigments.getAssigments().get(i).getAssignment());
-                    }
-                } else if (false == ini.get(i).equals(fin.get(i))) // Something needs to be done.
+                    // Positions are equal but maybe the data have changed.
+                    updatePropertyTypeAssignment(sessionToken, newETNewPTAssigments.getAssigments().get(i).getAssignment());
+                } else
+                // Something needs to be done.
                 {
                     if (false == fin.contains(ini.get(i))) // Delete
                     {
@@ -1331,7 +1330,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt
 
                     i--;
                 }
-            } else if (i >= ini.size())
+            } else
             {
                 if (false == newETNewPTAssigments.getAssigments().get(i).isExistingPropertyType())
                 {
@@ -1342,15 +1341,17 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt
                 ini.add(i, fin.get(i));
                 i--;
             }
+
         }
 
         for (int i = 0; i < ini.size(); i++)
         {
-            if (i < fin.size() && i < ini.size() // Is Check Possible
-                    && ini.get(i).equals(fin.get(i))) // Do nothing.
+            newETNewPTAssigments.getAssigments().get(i).getAssignment().setModificationDate(null);
+
+            if (i < fin.size() && ini.get(i).equals(fin.get(i))) // Do nothing.
             {
                 // Positions are equal
-            } else if (i >= fin.size())
+            } else
             {
                 unassignPropertyType(sessionToken,
                         newETNewPTAssigments.getEntity().getEntityKind(),
@@ -1359,6 +1360,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt
                 ini.remove(i);
                 i--;
             }
+
         }
 
         return results.toString();
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypePropertyTypeBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypePropertyTypeBO.java
index e706283d2d2597a2a10f04cdf9f376d77add166c..9e53dc133c4c45c731aec9d1905df819a8087aaf 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypePropertyTypeBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypePropertyTypeBO.java
@@ -217,7 +217,8 @@ public class EntityTypePropertyTypeBO extends AbstractBusinessObject implements
     @Override
     public void updateLoadedAssignment(NewETPTAssignment assignmentUpdates)
     {
-        if (assignment.getModificationDate().equals(assignmentUpdates.getModificationDate()) == false)
+        if (assignment.getModificationDate().equals(assignmentUpdates.getModificationDate()) == false &&
+                (assignmentUpdates.getModificationDate() == null) == false)
         {
             throwModifiedEntityException("Property type assignment");
         }
@@ -322,8 +323,7 @@ public class EntityTypePropertyTypeBO extends AbstractBusinessObject implements
     }
 
     /**
-     * shift specified entity type etpts by specified increment starting from etpt with specified
-     * ordinal
+     * shift specified entity type etpts by specified increment starting from etpt with specified ordinal
      * 
      * @param entityType
      */