diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewBasicExperiment.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewBasicExperiment.java
index af5ffb547cbd51d0781573b1dd3f122a621b5fe1..1fed350eca5b1c48fac986d1738b8d1784b7f634 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewBasicExperiment.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewBasicExperiment.java
@@ -26,7 +26,7 @@ public class NewBasicExperiment extends Identifier<NewBasicExperiment> implement
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
     public static final String EXPERIMENT_REGISTRATION_TEMPLATE_COMMENT =
-            "# Three short formats are accepted for identifiers, 'EXPERIMENT_CODE', '/EXPERIMENT_CODE', '/PROJECT_CODE/EXPERIMENT_CODE' when the full identifier is not given '/SPACE_CODE/PROJECT_CODE/EXPERIMENT_CODE' the default space and project are applied, if they are not configured an error will be thrown.\n";
+            "# Besides the full identifier of format '/SPACE_CODE/PROJECT_CODE/EXPERIMENT_CODE', two short formats 'EXPERIMENT_CODE' and 'PROJECT_CODE/EXPERIMENT_CODE' are accepted given that the default project (former short format) or default space (latter short format) are configured. If the proper default value is not configured when using a short format, experiment import will fail.\n";
 
     private IEntityProperty[] properties = IEntityProperty.EMPTY_ARRAY;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UpdatedBasicExperiment.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UpdatedBasicExperiment.java
index ae33ae41f83c309784eef9577abb8ca2103ffe96..95990706e5add29e0cc7d6ae993f51e069db7089 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UpdatedBasicExperiment.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UpdatedBasicExperiment.java
@@ -25,7 +25,7 @@ public class UpdatedBasicExperiment extends NewBasicExperiment
 {
     public static final String EXPERIMENT_UPDATE_TEMPLATE_COMMENT =
             "# All columns except \"identifier\" can be removed from the file.\n"
-                    + "# Three short formats are accepted for identifiers, 'EXPERIMENT_CODE', '/EXPERIMENT_CODE', '/PROJECT_CODE/EXPERIMENT_CODE' when the full identifier is not given '/SPACE_CODE/PROJECT_CODE/EXPERIMENT_CODE' the default space and project are applied, if they are not configured an error will be thrown.\n"
+                    + "# Besides the full identifier of format '/SPACE_CODE/PROJECT_CODE/EXPERIMENT_CODE', two short formats 'EXPERIMENT_CODE' and 'PROJECT_CODE/EXPERIMENT_CODE' are accepted given that the default project (former short format) or default space (latter short format) are configured. If the proper default value is not configured when using a short format, experiment update will fail.\n"
                     + "# If a column is removed from the file or a cell in a column is left empty the corresponding values of updated expriments will be preserved.\n"
                     + "# To delete a value/connection from openBIS one needs to put \"--DELETE--\" or \"__DELETE__\" into the corresponding cell\n"
                     + "# The \"project\" column (if not removed) should contain project identifiers, e.g. /SPACE/PROJECT\n";
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java
index fd8dc793095d54100de6d5080de4cc8c07945453..f86068a0f633a839b32728a5494a019f984b4455 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java
@@ -557,49 +557,33 @@ public class GenericClientService extends AbstractClientService implements IGene
 
     private void applyDefaultSpaceProjectToExperiments(List<? extends NewBasicExperiment> experiments, String sessionToken)
     {
-
         String defaultProjectIdentifier = getUserDefaultProject(sessionToken); // If default project is present
-
-        // Fix identifier 'EXPERIMENT_ID' alone
-        for (NewBasicExperiment experiment : experiments)
-        {
-            String newExperimentIdentifier = experiment.getIdentifier();
-            if (newExperimentIdentifier.indexOf('/') == -1 &&
-                    defaultProjectIdentifier != null)
-            {
-                experiment.setIdentifier(defaultProjectIdentifier + "/" + newExperimentIdentifier);
-            }
-        }
-
-        // Fix identifier '/EXPERIMENT_ID' alone with forward slash
-        for (NewBasicExperiment experiment : experiments)
-        {
-            String newExperimentIdentifier = experiment.getIdentifier();
-            int numberSlash = count('/', newExperimentIdentifier);
-            if (newExperimentIdentifier.indexOf('/') > -1 &&
-                    numberSlash == 1 &&
-                    defaultProjectIdentifier != null)
-            {
-                experiment.setIdentifier(defaultProjectIdentifier + newExperimentIdentifier);
-            }
-        }
-
         String defaultSpaceIdentifier = getUserDefaultSpace(sessionToken); // If default space is present
 
-        // Fix identifier '/PROJECT/EXPERIMENT_ID' with project
         for (NewBasicExperiment experiment : experiments)
         {
             String newExperimentIdentifier = experiment.getIdentifier();
-            int numberSlash = count('/', newExperimentIdentifier);
-            if (newExperimentIdentifier.indexOf('/') > -1 &&
-                    numberSlash == 2 &&
-                    defaultSpaceIdentifier != null)
+            int numberOfSlashes = count('/', newExperimentIdentifier);
+
+            switch (numberOfSlashes)
             {
-                experiment.setIdentifier("/" + defaultSpaceIdentifier + newExperimentIdentifier);
+                case 0:
+                    if (defaultProjectIdentifier != null)
+                    {
+                        experiment.setIdentifier(defaultProjectIdentifier + "/" + newExperimentIdentifier);
+                    }
+                    break;
+                case 1:
+                    if (defaultSpaceIdentifier != null && (newExperimentIdentifier.startsWith("/") == false)
+                            && (newExperimentIdentifier.endsWith("/") == false))
+                    {
+                        experiment.setIdentifier("/" + defaultSpaceIdentifier + "/" + newExperimentIdentifier);
+                    }
+                    break;
+                default:
             }
         }
 
-        // Throw meaningful error
         for (NewBasicExperiment experiment : experiments)
         {
             String newExperimentIdentifier = experiment.getIdentifier();
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java
index 84d408cd73cc523e25aa45950c8ef32e253141f5..109980f6bd3ab016011117235884cb0e8cbe3188 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java
@@ -245,7 +245,7 @@ public final class CommonServerTest extends AbstractServerTestCase
                         false, false, false, BatchOperationKind.REGISTRATION);
 
         assertEquals(
-                "# Three short formats are accepted for identifiers, 'EXPERIMENT_CODE', '/EXPERIMENT_CODE', '/PROJECT_CODE/EXPERIMENT_CODE' when the full identifier is not given '/SPACE_CODE/PROJECT_CODE/EXPERIMENT_CODE' the default space and project are applied, if they are not configured an error will be thrown.\nidentifier\tNON-MANAGED-PROP\tMANAGED-PROP-NO-SUBCOLUMNS\t"
+                "# Besides the full identifier of format '/SPACE_CODE/PROJECT_CODE/EXPERIMENT_CODE', two short formats 'EXPERIMENT_CODE' and 'PROJECT_CODE/EXPERIMENT_CODE' are accepted given that the default project (former short format) or default space (latter short format) are configured. If the proper default value is not configured when using a short format, experiment import will fail.\nidentifier\tNON-MANAGED-PROP\tMANAGED-PROP-NO-SUBCOLUMNS\t"
                         + "MANAGED-PROP-SUBCOLUMNS:A\tMANAGED-PROP-SUBCOLUMNS:B", template);
         context.assertIsSatisfied();
     }