diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ExperimentModel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ExperimentModel.java
index 50b678436fa8baf4604a9b6989f6c47e362e2e3e..bec545299e6a2302ad45cfafef52764030d8c643 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ExperimentModel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ExperimentModel.java
@@ -46,10 +46,12 @@ public final class ExperimentModel extends BaseModelData
     public ExperimentModel(final Experiment experiment)
     {
         set(ModelDataPropertyNames.CODE, experiment.getCode());
-        set(ModelDataPropertyNames.EXPERIMENT_TYPE_CODE, experiment.getExperimentType().getCode());
+        set(ModelDataPropertyNames.EXPERIMENT_TYPE_CODE_FOR_EXPERIMENT, experiment
+                .getExperimentType().getCode());
         set(ModelDataPropertyNames.EXPERIMENT_TYPE, experiment.getExperimentType());
         set(ModelDataPropertyNames.EXPERIMENT_IDENTIFIER, experiment.getExperimentIdentifier());
-        set(ModelDataPropertyNames.GROUP, experiment.getProject().getGroup().getCode());
+        set(ModelDataPropertyNames.GROUP_FOR_EXPERIMENT, experiment.getProject().getGroup()
+                .getCode());
         set(ModelDataPropertyNames.PROJECT, experiment.getProject().getCode());
         set(ModelDataPropertyNames.OBJECT, experiment);
         set(ModelDataPropertyNames.REGISTRATOR, PersonRenderer.createPersonAnchor(experiment
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java
index 7fecb25fac9467b408ecc6c8f09cb755872ea732..54544a540c72cf6aa6a5ff1a2fdc61f33bf97c9d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.model;
 
 import com.extjs.gxt.ui.client.data.ModelData;
 
+import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Sample;
 
 /**
@@ -70,12 +71,29 @@ public final class ModelDataPropertyNames
     public static final String EXPERIMENT_IDENTIFIER_FOR_SAMPLE =
             EXPERIMENT_FOR_SAMPLE + FIELD_PATH_SEPARATOR + "experimentIdentifier";
 
+    /**
+     * This is the path to the experiment type code field starting from {@link Experiment}.
+     * <p>
+     * Changing this may mean that sorting no longer works on the server side if result set is used.
+     * </p>
+     */
+    public static final String EXPERIMENT_TYPE_CODE_FOR_EXPERIMENT =
+            "experimentType" + FIELD_PATH_SEPARATOR + "code";
+
     public static final String FILE_FORMAT_TYPE = "fileFormatType";
 
     public static final String FIRST_NAME = "firstName";
 
     public static final String GROUP = "group";
 
+    /**
+     * This is the path to the project field starting from {@link Experiment}.
+     * <p>
+     * Changing this may mean that sorting no longer works on the server side if result set is used.
+     * </p>
+     */
+    public static final String GROUP_FOR_EXPERIMENT = "project" + FIELD_PATH_SEPARATOR + "group";
+
     public static final String IDENTIFIER = "identifier";
 
     public static final String DATABASE_INSTANCE = "databaseInstance";
@@ -125,8 +143,6 @@ public final class ModelDataPropertyNames
 
     public static final String PROJECT = "project";
 
-    public static final String EXPERIMENT_TYPE_CODE = "experimentTypeCode";
-
     public static final String EXPERIMENT_IDENTIFIER = "experimentIdentifier";
 
     private ModelDataPropertyNames()
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment_browser/ExperimentBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment_browser/ExperimentBrowserGrid.java
index dce49b6fbb6739cc4b3a62962e48b4da74d521c8..af10457c0166b4144b528937ba15ad9e6fda28a9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment_browser/ExperimentBrowserGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment_browser/ExperimentBrowserGrid.java
@@ -192,9 +192,9 @@ public final class ExperimentBrowserGrid extends LayoutContainer
         configs.add(ColumnConfigFactory.createCodeColumnConfig(viewContext.getMessageProvider()));
 
         configs.add(ColumnConfigFactory.createDefaultConfig(viewContext.getMessageProvider(),
-                ModelDataPropertyNames.EXPERIMENT_TYPE_CODE, "experiment_type"));
+                ModelDataPropertyNames.EXPERIMENT_TYPE_CODE_FOR_EXPERIMENT, "experiment_type"));
         configs.add(ColumnConfigFactory.createDefaultConfig(viewContext.getMessageProvider(),
-                ModelDataPropertyNames.GROUP));
+                ModelDataPropertyNames.GROUP_FOR_EXPERIMENT, "group"));
         configs.add(ColumnConfigFactory.createDefaultConfig(viewContext.getMessageProvider(),
                 ModelDataPropertyNames.PROJECT));
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/Person.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/Person.java
index 9a2ac4daa9460d0e5d2c0f8b08df9d366950f67b..03dbb191ab4e376891396c5794901d2ed66bbbe6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/Person.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/Person.java
@@ -23,7 +23,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
  * 
  * @author Franz-Josef Elmer
  */
-public class Person extends AbstractRegistrationHolder
+public class Person extends AbstractRegistrationHolder implements Comparable<Person>
 {
     private String firstName;
 
@@ -76,7 +76,7 @@ public class Person extends AbstractRegistrationHolder
     @Override
     public String toString()
     {
-        StringBuilder result = new StringBuilder();
+        final StringBuilder result = new StringBuilder();
         if (firstName != null && lastName != null)
         {
             result.append(firstName);
@@ -88,4 +88,15 @@ public class Person extends AbstractRegistrationHolder
         }
         return result.toString();
     }
+
+    public int compareTo(final Person o)
+    {
+        if (o == null)
+        {
+            return -1;
+        } else
+        {
+            return this.toString().compareTo(o.toString());
+        }
+    }
 }