diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java
index 5fa4905d6a72b772f180519dbba13b5787a676a1..7ce2858d9b719448f850890a7f5a2d2e942435d6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java
@@ -525,6 +525,7 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO
             data.setPlaceholder(false);
             data.setId(HibernateUtils.getId(placeholder));
             data.setRegistrationDate(new Date());
+            data.setAccessDate(new Date());
             RelationshipUtils.updateModificationDateAndModifier(data, findPerson());
 
             dataDAO.updateDataSet(data, findPerson());
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java
index fad910bfb1a9bafca3fb144f4e15559b5f8234ef..a956fd9d67430654f1a3e2bf7f641ba963fac30c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java
@@ -114,6 +114,8 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements
 
     private Date modificationDate;
 
+    private Date accessDate;
+
     private int version;
 
     private String dataProducerCode;
@@ -529,6 +531,20 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements
         this.modificationDate = versionDate;
     }
 
+    @OptimisticLock(excluded = true)
+    @Column(name = ColumnNames.ACCESS_TIMESTAMP, nullable = false)
+    @Field(name = SearchFieldConstants.ACCESS_DATE, index = Index.UN_TOKENIZED, store = Store.NO)
+    @DateBridge(resolution = Resolution.SECOND)
+    public Date getAccessDate()
+    {
+        return accessDate;
+    }
+
+    public void setAccessDate(Date versionDate)
+    {
+        this.accessDate = versionDate;
+    }
+
     public void setId(final Long id)
     {
         this.id = id;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/hibernate/SearchFieldConstants.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/hibernate/SearchFieldConstants.java
index f29bd40a473934c71515c7e5e45f3224bb0d2a3b..c734d6ebe1901b20a905336d3539b834123ae234 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/hibernate/SearchFieldConstants.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/hibernate/SearchFieldConstants.java
@@ -97,4 +97,6 @@ public final class SearchFieldConstants
     public static final String REGISTRATION_DATE = "registration_date";
 
     public static final String MODIFICATION_DATE = "modification_date";
+
+    public static final String ACCESS_DATE = "access_date";
 }