diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/CriterionWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/CriterionWidget.java
index 1c08cdd9ea2789078cdec1483c11ee4c483d6a12..81121553ad6c97dbe589eb74c71ea4ce276b6173 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/CriterionWidget.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/CriterionWidget.java
@@ -170,10 +170,7 @@ public class CriterionWidget extends HorizontalPanel
         final DataSetSearchField selectedFieldName = nameField.tryGetSelectedField();
         if (selectedFieldName != null && StringUtils.isBlank(selectedValue) == false)
         {
-            final DataSetSearchCriterion result = new DataSetSearchCriterion();
-            result.setField(selectedFieldName);
-            result.setValue(selectedValue);
-            return result;
+            return new DataSetSearchCriterion(selectedFieldName, selectedValue);
         }
         return null;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchFieldsSelectionWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchFieldsSelectionWidget.java
index 013ba4d6c4c6e0a87b68c6f3a9938d6577cd8a49..f7475ea23add20123406fab3bf41cc47c7655987 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchFieldsSelectionWidget.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchFieldsSelectionWidget.java
@@ -213,7 +213,7 @@ public final class DataSetSearchFieldsSelectionWidget extends
     {
         List<PropertyType> relevantPropertyTypes =
                 DataSetSearchHitModel.filterSamplePropertyTypes(propertyTypes);
-        return addPropertyTypes(result, relevantPropertyTypes);
+        return addPropertyTypes(result, relevantPropertyTypes, false);
     }
 
     private static List<String> addExperimentPropertyTypes(
@@ -221,19 +221,26 @@ public final class DataSetSearchFieldsSelectionWidget extends
     {
         List<PropertyType> relevantPropertyTypes =
                 DataSetSearchHitModel.filterExperimentPropertyTypes(propertyTypes);
-        return addPropertyTypes(result, relevantPropertyTypes);
+        return addPropertyTypes(result, relevantPropertyTypes, true);
     }
 
     // returns codes of added properties
     private static List<String> addPropertyTypes(final List<DataSetSearchFieldComboModel> result,
-            List<PropertyType> types)
+            List<PropertyType> types, boolean isExperimentProperty)
     {
         List<String> allProps = new ArrayList<String>();
         for (final PropertyType st : types)
         {
             String code = st.getCode();
             allProps.add(code);
-            DataSetSearchField field = DataSetSearchField.createSampleProperty(code);
+            DataSetSearchField field;
+            if (isExperimentProperty)
+            {
+                field = DataSetSearchField.createSampleProperty(code);
+            } else
+            {
+                field = DataSetSearchField.createExperimentProperty(code);
+            }
             DataSetSearchFieldComboModel comboModel =
                     createPropertyComboModel(st, field, isLabelDuplicated(st, types));
             result.add(comboModel);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchHitModel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchHitModel.java
index d20e419b48c45d9ec2f19b75a11b28bbdaf89eac..cb0b0c6089f9808482bbc0403c405c4f6c261e2d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchHitModel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchHitModel.java
@@ -173,6 +173,8 @@ public class DataSetSearchHitModel extends BaseEntityModel<DataSetSearchHit>
     public static final class DataSetSamplePropertyColDef extends
             AbstractPropertyColDef<DataSetSearchHit>
     {
+        private static final String ID_PREFIX = "sample";
+
         // GWT only
         public DataSetSamplePropertyColDef()
         {
@@ -181,7 +183,7 @@ public class DataSetSearchHitModel extends BaseEntityModel<DataSetSearchHit>
         private DataSetSamplePropertyColDef(PropertyType propertyType,
                 boolean isDisplayedByDefault, int width, String propertyTypeLabel)
         {
-            super(propertyType, isDisplayedByDefault, width, propertyTypeLabel);
+            super(propertyType, isDisplayedByDefault, width, propertyTypeLabel, ID_PREFIX);
         }
 
         @Override
@@ -194,6 +196,8 @@ public class DataSetSearchHitModel extends BaseEntityModel<DataSetSearchHit>
     public static final class DataSetExperimentPropertyColDef extends
             AbstractPropertyColDef<DataSetSearchHit>
     {
+        private static final String ID_PREFIX = "exp";
+
         // GWT only
         public DataSetExperimentPropertyColDef()
         {
@@ -202,7 +206,7 @@ public class DataSetSearchHitModel extends BaseEntityModel<DataSetSearchHit>
         public DataSetExperimentPropertyColDef(PropertyType propertyType,
                 boolean isDisplayedByDefault, int width, String propertyTypeLabel)
         {
-            super(propertyType, isDisplayedByDefault, width, propertyTypeLabel);
+            super(propertyType, isDisplayedByDefault, width, propertyTypeLabel, ID_PREFIX);
         }
 
         @Override
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/columns/PropertyExperimentColDef.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/columns/PropertyExperimentColDef.java
index fc1b1691b6d6263a09735d631318deb4de7274be..370fd3a7d32651de32dc428528426aa7ac253d15 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/columns/PropertyExperimentColDef.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/columns/PropertyExperimentColDef.java
@@ -34,7 +34,7 @@ public class PropertyExperimentColDef extends AbstractPropertyColDef<Experiment>
     // GWT only
     public PropertyExperimentColDef()
     {
-        super(null, false, 0, false, null);
+        super(null, false, 0, false, null, null);
     }
 
     public PropertyExperimentColDef(PropertyType propertyType)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractPropertyColDef.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractPropertyColDef.java
index a14838868afc0bfc2379346a9fae692d76cd12d9..e3308c45b7876fce94b6212f084330bab9cf752e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractPropertyColDef.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractPropertyColDef.java
@@ -35,6 +35,8 @@ public abstract class AbstractPropertyColDef<T> extends AbstractColumnDefinition
 
     private static final String PROPERTY_PREFIX = "property";
 
+    private String identifierPrefix;
+
     private boolean isInternalNamespace;
 
     private String simpleCode;
@@ -46,22 +48,24 @@ public abstract class AbstractPropertyColDef<T> extends AbstractColumnDefinition
 
     public AbstractPropertyColDef(PropertyType propertyType, boolean isDisplayedByDefault)
     {
-        this(propertyType, isDisplayedByDefault, PROPERTY_COLUMN_WIDTH, propertyType.getLabel());
+        this(propertyType, isDisplayedByDefault, PROPERTY_COLUMN_WIDTH, propertyType.getLabel(), "");
     }
 
     public AbstractPropertyColDef(PropertyType propertyType, boolean isDisplayedByDefault,
-            int width, String propertyTypeLabel)
+            int width, String propertyTypeLabel, String identifierPrefix)
     {
         this(propertyType.getSimpleCode(), isDisplayedByDefault, width, propertyType
-                .isInternalNamespace(), propertyTypeLabel);
+                .isInternalNamespace(), propertyTypeLabel, identifierPrefix + PROPERTY_PREFIX);
     }
 
     protected AbstractPropertyColDef(String propertyTypeCode, boolean isDisplayedByDefault,
-            int width, boolean isInternalNamespace, String propertyTypeLabel)
+            int width, boolean isInternalNamespace, String propertyTypeLabel,
+            String identifierPrefix)
     {
         super(propertyTypeLabel, width, isDisplayedByDefault);
         this.isInternalNamespace = isInternalNamespace;
         this.simpleCode = propertyTypeCode;
+        this.identifierPrefix = identifierPrefix;
     }
 
     @Override
@@ -91,6 +95,6 @@ public abstract class AbstractPropertyColDef<T> extends AbstractColumnDefinition
 
     public String getIdentifier()
     {
-        return PROPERTY_PREFIX + isInternalNamespace + simpleCode;
+        return identifierPrefix + isInternalNamespace + simpleCode;
     }
 }
\ No newline at end of file
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/columns/PropertySampleColDef.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/columns/PropertySampleColDef.java
index 5e282d79c911290db6a6d3286ba2839ddfd286a9..7376ad3337b7427d77e5aec6b5056226e0527087 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/columns/PropertySampleColDef.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/columns/PropertySampleColDef.java
@@ -30,7 +30,7 @@ class PropertySampleColDef extends AbstractPropertyColDef<Sample> implements IsS
     // GWT only
     public PropertySampleColDef()
     {
-        super(null, false, 0, false, null);
+        super(null, false, 0, false, null, null);
     }
 
     public PropertySampleColDef(PropertyType propertyType, boolean isDisplayedByDefault)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetSearchCriterion.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetSearchCriterion.java
index 4d5ed61451038382fee13254fc5c8f51ce42fc33..0895311fe90d0e25934e782b91b3f76d3d466491 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetSearchCriterion.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetSearchCriterion.java
@@ -212,6 +212,12 @@ public class DataSetSearchCriterion implements IsSerializable
     {
     }
 
+    public DataSetSearchCriterion(DataSetSearchField field, String value)
+    {
+        this.field = field;
+        this.value = value;
+    }
+
     public DataSetSearchField getField()
     {
         return field;