diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
index ef197805befcd2119071284c9fc5681457dd1f0f..64a1973d770348c21381197a19fed3847105f2ec 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
@@ -48,11 +48,18 @@ public abstract class AbstractAsyncCallback<T> implements AsyncCallback<T>
 
     List<IOnSuccessAction<T>> successActions = new ArrayList<IOnSuccessAction<T>>();
 
+    List<IDelegatedAction> failureActions = new ArrayList<IDelegatedAction>();
+
     public void addOnSuccessAction(IOnSuccessAction<T> action)
     {
         successActions.add(action);
     }
 
+    public void addOnFailureAction(IDelegatedAction action)
+    {
+        failureActions.add(action);
+    }
+
     public static final ICallbackListener<Object> DEFAULT_CALLBACK_LISTENER =
             new CallbackListenerAdapter<Object>()
                 {
@@ -254,6 +261,10 @@ public abstract class AbstractAsyncCallback<T> implements AsyncCallback<T>
             callbackListener.onFailureOf(viewContext, this, msg, caught);
         }
         finishOnFailure(caught);
+        for (IDelegatedAction a : failureActions)
+        {
+            a.execute();
+        }
     }
 
     private String getMessage(String messageKey, Object... params)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
index c9e68e143170b084e51714869020a86da88101f8..e2f8ab3d6ef52de97670acc099b3147730b70986 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
@@ -121,6 +121,8 @@ public abstract class Dict
 
     public static final String BUTTON_SAVE = "button_save";
 
+    public static final String BUTTON_SAVE_AND_UPLOAD = "button_save_and_upload";
+
     public static final String BUTTON_CHOOSE = "button_choose";
 
     public static final String BUTTON_CANCEL = "button_cancel";
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IOnSuccessAction.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IOnSuccessAction.java
index fb27a04e29e86adf0468028368ac1936c5b0bfa8..6affc2b89ea25f7760afaabcf98af3bbf43ccfc9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IOnSuccessAction.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IOnSuccessAction.java
@@ -16,7 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.client.web.client.application;
 
-interface IOnSuccessAction<T>
+public interface IOnSuccessAction<T>
 {
     void execute(T result);
 }
\ No newline at end of file
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/ComponentProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/ComponentProvider.java
index 8890e9f0b441da000acd067e9e7556852e28c86d..321ccad3d9a240515e3073a4181e7e16ba91ffea 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/ComponentProvider.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/ComponentProvider.java
@@ -1362,7 +1362,7 @@ public final class ComponentProvider
             };
     }
 
-    public AbstractTabItemFactory getDataSetUploadTab()
+    public AbstractTabItemFactory getDataSetUploadTab(final String initialSampleIdentifierOrNull)
     {
         return new AbstractTabItemFactory()
             {
@@ -1370,14 +1370,14 @@ public final class ComponentProvider
                 public ITabItem create()
                 {
                     DatabaseModificationAwareComponent component =
-                            DataSetUploadForm.create(viewContext);
+                            DataSetUploadForm.create(viewContext, initialSampleIdentifierOrNull);
                     return createRegistrationTab(getTabTitle(), component);
                 }
 
                 @Override
                 public String getId()
                 {
-                    return DataSetUploadForm.ID;
+                    return DataSetUploadForm.createId(initialSampleIdentifierOrNull);
                 }
 
                 @Override
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/dataset/DataSetMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/dataset/DataSetMenu.java
index 806636e7e1659de300013c0e5e863acc0773c72d..454c95e9f448e4ad087a60c9b571572e4b53a377 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/dataset/DataSetMenu.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/dataset/DataSetMenu.java
@@ -57,7 +57,7 @@ public class DataSetMenu extends TopMenuItem
         if (cifexConfigured)
         {
             submenu.add(new ActionMenu(TopMenu.ActionMenuKind.DATA_SET_MENU_UPLOAD,
-                    messageProvider, componentProvider.getDataSetUploadTab()));
+                    messageProvider, componentProvider.getDataSetUploadTab(null)));
         }
         setMenu(submenu);
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractRegistrationForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractRegistrationForm.java
index d2441302fd7ba3950f0ae8356c01f12cf106ebf9..61f3f03791adf5dfd54c07b2206ad96748ad18df 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractRegistrationForm.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractRegistrationForm.java
@@ -93,6 +93,8 @@ public abstract class AbstractRegistrationForm extends ContentPanel
 
     protected LayoutContainer rightPanel;
 
+    private Button resetButton;
+
     protected AbstractRegistrationForm(final IMessageProvider messageProvider, final String id)
     {
         this(messageProvider, id, DEFAULT_LABEL_WIDTH, DEFAULT_FIELD_WIDTH);
@@ -191,7 +193,7 @@ public abstract class AbstractRegistrationForm extends ContentPanel
                     }
                 }
             });
-        final Button resetButton = new Button(messageProvider.getMessage(Dict.BUTTON_RESET));
+        resetButton = new Button(messageProvider.getMessage(Dict.BUTTON_RESET));
         resetButton.addSelectionListener(new SelectionListener<ButtonEvent>()
             {
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetUploadForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetUploadForm.java
index 76516c48e64f444eeff92d13174bb8fb1f24facb..b042b54a44403d6ab99d17a28aa7321df1815d9d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetUploadForm.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetUploadForm.java
@@ -33,16 +33,16 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.AbstractRegistrationForm;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.CheckBoxField;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ExperimentChooserField;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserField;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ExperimentChooserField.ExperimentChooserFieldAdaptor;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserField;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserField.SampleChooserFieldAdaptor;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.FieldUtil;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.WindowUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExperimentIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.BasicConstant;
 import ch.systemsx.cisd.openbis.generic.shared.basic.DataSetUploadInfo;
-import ch.systemsx.cisd.openbis.generic.shared.basic.URLMethodWithParameters;
 import ch.systemsx.cisd.openbis.generic.shared.basic.DataSetUploadInfo.DataSetUploadInfoHelper;
+import ch.systemsx.cisd.openbis.generic.shared.basic.URLMethodWithParameters;
 
 /**
  * Panel that allows to specify information necessary to upload data sets and redirects user to
@@ -53,10 +53,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.DataSetUploadInfo.DataSetUp
 public class DataSetUploadForm extends AbstractRegistrationForm
 {
 
-    private static final String ID_SUFFIX = "data-set-upload-panel";
-
-    public static final String ID = GenericConstants.ID_PREFIX + ID_SUFFIX;
-
     private final String cifexURL;
 
     private final String cifexRecipient;
@@ -76,11 +72,32 @@ public class DataSetUploadForm extends AbstractRegistrationForm
 
     private final DataSetParentsArea parentsArea;
 
-    // 
+    //
+
+    public static String createId(String suffix)
+    {
+        return GenericConstants.ID_PREFIX + createSimpleId(suffix);
+    }
+
+    private static String createSimpleId(String suffix)
+    {
+
+        String withoutSuffix = "data-set-upload-panel";
+        if (suffix == null)
+        {
+            return withoutSuffix;
+        } else
+        {
+            // TODO 2010-11-23, IA: use existing identifier escaper
+            return withoutSuffix
+                    + suffix.toUpperCase().replace("/", "x").replace(":", "xx").replace(".", "xxx");
+        }
+    }
 
-    public DataSetUploadForm(IViewContext<ICommonClientServiceAsync> viewContext)
+    public DataSetUploadForm(IViewContext<ICommonClientServiceAsync> viewContext,
+            String sampleIdentifierOrNull)
     {
-        super(viewContext, ID_SUFFIX);
+        super(viewContext, createSimpleId(sampleIdentifierOrNull));
         cifexURL = viewContext.getModel().getApplicationInfo().getCIFEXURL();
         cifexRecipient = viewContext.getModel().getApplicationInfo().getCifexRecipient();
         saveButton.setText(viewContext.getMessage(Dict.BUTTON_UPLOAD_DATA_VIA_CIFEX));
@@ -91,14 +108,16 @@ public class DataSetUploadForm extends AbstractRegistrationForm
 
         // both sample and experiment choosers are mandatory but only one will be shown
         sampleChooser =
-                SampleChooserField.create(viewContext.getMessage(Dict.SAMPLE), true, null, false,
-                        false, true, viewContext, SampleTypeDisplayID.DATA_SET_UPLOAD_SAMPLE_CHOOSER);
+                SampleChooserField.create(viewContext.getMessage(Dict.SAMPLE), true,
+                        sampleIdentifierOrNull, false, false, true, viewContext,
+                        SampleTypeDisplayID.DATA_SET_UPLOAD_SAMPLE_CHOOSER);
         formPanel.add(sampleChooser.getField());
         experimentChooser =
                 ExperimentChooserField.create(viewContext.getMessage(Dict.EXPERIMENT), true, null,
                         viewContext);
         formPanel.add(experimentChooser.getField());
-        formPanel.add(parentsArea = new DataSetParentsArea(viewContext, ID_SUFFIX));
+        formPanel.add(parentsArea =
+                new DataSetParentsArea(viewContext, createSimpleId(sampleIdentifierOrNull)));
         parentsArea.setMaxLength(1500);
 
         connectedWithSampleCheckbox.addListener(Events.Change, new Listener<FieldEvent>()
@@ -110,11 +129,14 @@ public class DataSetUploadForm extends AbstractRegistrationForm
             });
         updateFieldsVisibility();
 
-        formPanel.add(dataSetTypeSelectionWidget =
-                new DataSetTypeSelectionWidget(viewContext, ID_SUFFIX));
+        formPanel
+                .add(dataSetTypeSelectionWidget =
+                        new DataSetTypeSelectionWidget(viewContext,
+                                createSimpleId(sampleIdentifierOrNull)));
         FieldUtil.markAsMandatory(dataSetTypeSelectionWidget);
         formPanel.add(fileTypeSelectionWidget =
-                new FileFormatTypeSelectionWidget(viewContext, ID_SUFFIX));
+                new FileFormatTypeSelectionWidget(viewContext,
+                        createSimpleId(sampleIdentifierOrNull)));
         FieldUtil.markAsMandatory(fileTypeSelectionWidget);
         if (StringUtils.isBlank(cifexRecipient) || StringUtils.isBlank(cifexURL))
         {
@@ -132,9 +154,9 @@ public class DataSetUploadForm extends AbstractRegistrationForm
     }
 
     public static DatabaseModificationAwareComponent create(
-            IViewContext<ICommonClientServiceAsync> viewContext)
+            IViewContext<ICommonClientServiceAsync> viewContext, String sampleIdentifierOrNull)
     {
-        DataSetUploadForm form = new DataSetUploadForm(viewContext);
+        DataSetUploadForm form = new DataSetUploadForm(viewContext, sampleIdentifierOrNull);
         IDatabaseModificationObserver observer = form.createDatabaseModificationObserver();
         return new DatabaseModificationAwareComponent(form, observer);
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/AbstractGenericSampleRegisterEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/AbstractGenericSampleRegisterEditForm.java
index 3b23f84230a0bb90fca28912198a947b5280ed4a..26d6432f722020c04814cacb38ab14b0eb4f1de3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/AbstractGenericSampleRegisterEditForm.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/AbstractGenericSampleRegisterEditForm.java
@@ -24,25 +24,32 @@ import java.util.List;
 import com.extjs.gxt.ui.client.event.ButtonEvent;
 import com.extjs.gxt.ui.client.event.Events;
 import com.extjs.gxt.ui.client.event.SelectionListener;
+import com.extjs.gxt.ui.client.widget.button.Button;
 import com.extjs.gxt.ui.client.widget.form.FormPanel;
 
+import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ActionContext;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.FormPanelListener;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.IOnSuccessAction;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareField;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.SampleTypeDisplayID;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.AbstractRegistrationForm;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.GroupSelectionWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ExperimentChooserField;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ExperimentChooserField.ExperimentChooserFieldAdaptor;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.IChosenEntityListener;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserButton;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserField;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ExperimentChooserField.ExperimentChooserFieldAdaptor;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserButton.SampleChooserButtonAdaptor;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserField;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserField.SampleChooserFieldAdaptor;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.file.AttachmentsFileFieldManager;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.FieldUtil;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExperimentIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdAndCodeHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind;
@@ -90,6 +97,8 @@ abstract public class AbstractGenericSampleRegisterEditForm extends
 
     protected ParentSamplesArea parentsArea;
 
+    private String openUploadWindowWithSampleOrNull = null;
+
     protected AbstractGenericSampleRegisterEditForm(
             IViewContext<IGenericClientServiceAsync> viewContext, ActionContext actionContext)
     {
@@ -107,6 +116,15 @@ abstract public class AbstractGenericSampleRegisterEditForm extends
         sesionKeys.add(attachmentsSessionKey);
         addUploadFeatures(sesionKeys);
         extractInitialValues(actionContext);
+        boolean cifexConfigured =
+                StringUtils
+                        .isBlank(viewContext.getModel().getApplicationInfo().getCifexRecipient()) == false
+                        && StringUtils.isBlank(viewContext.getModel().getApplicationInfo()
+                                .getCIFEXURL()) == false;
+        if (cifexConfigured)
+        {
+            formPanel.addButton(createSaveAndUploadButton());
+        }
     }
 
     private void extractInitialValues(ActionContext context)
@@ -156,6 +174,57 @@ abstract public class AbstractGenericSampleRegisterEditForm extends
             });
     }
 
+    private Button createSaveAndUploadButton()
+    {
+        Button button = new Button(viewContext.getMessage(Dict.BUTTON_SAVE_AND_UPLOAD));
+        button.addSelectionListener(new SelectionListener<ButtonEvent>()
+            {
+                @Override
+                public final void componentSelected(final ButtonEvent ce)
+                {
+                    if (formPanel.isValid())
+                    {
+                        openUploadWindowWithSampleOrNull = createSampleIdentifier();
+                        if (attachmentsManager.filesDefined() > 0)
+                        {
+                            setUploadEnabled(false);
+                            formPanel.submit();
+                        } else
+                        {
+                            save();
+                        }
+                    }
+                }
+            });
+        return button;
+    }
+
+    protected <R, T extends AbstractRegistrationForm.AbstractRegistrationCallback<R>> T enrichWithPostRegistration(
+            T callback)
+    {
+        callback.addOnFailureAction(new IDelegatedAction()
+            {
+                public void execute()
+                {
+                    openUploadWindowWithSampleOrNull = null;
+                }
+            });
+        callback.addOnSuccessAction(new IOnSuccessAction<R>()
+            {
+                public void execute(R result)
+                {
+                    if (StringUtils.isBlank(openUploadWindowWithSampleOrNull) == false)
+                    {
+                        DispatcherHelper.dispatchNaviEvent(new ComponentProvider(viewContext
+                                .getCommonViewContext())
+                                .getDataSetUploadTab(openUploadWindowWithSampleOrNull));
+                    }
+                    openUploadWindowWithSampleOrNull = null;
+                }
+            });
+        return callback;
+    }
+
     protected abstract void save();
 
     @Override
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleEditForm.java
index 75e92d1c25267cc86d4b0b78117d3852c0ae8b34..11af1fd867f0d28c7c7ba3041484934da9a29872 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleEditForm.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleEditForm.java
@@ -73,7 +73,7 @@ public final class GenericSampleEditForm extends AbstractGenericSampleRegisterEd
                 new SampleUpdates(attachmentsSessionKey, techIdOrNull, properties, attachments,
                         experimentIdent, originalSample.getModificationDate(),
                         createSampleIdentifier(), containerOrNull, parents),
-                new UpdateSampleCallback(viewContext));
+                enrichWithPostRegistration(new UpdateSampleCallback(viewContext)));
     }
 
     private final class UpdateSampleCallback extends
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationForm.java
index 56525050b3ab4bfbdd8ed69e875a9f79d360e4d6..6079d1c4bbd5ae67984efa58c8b92ac0df81ac20 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationForm.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationForm.java
@@ -95,8 +95,7 @@ public final class GenericSampleRegistrationForm extends AbstractGenericSampleRe
     {
         String experimentIdentifier =
                 (experimentField != null && experimentField.tryToGetValue() != null) ? experimentField
-                        .tryToGetValue().getIdentifier()
-                        : null;
+                        .tryToGetValue().getIdentifier() : null;
 
         final String containerOrNull = StringUtils.trimToNull(container.getValue());
         final NewSample newSample =
@@ -107,7 +106,7 @@ public final class GenericSampleRegistrationForm extends AbstractGenericSampleRe
         newSample.setAttachments(attachmentsManager.extractAttachments());
         newSample.setExperimentIdentifier(experimentIdentifier);
         viewContext.getService().registerSample(attachmentsSessionKey, newSample,
-                new RegisterSampleCallback(viewContext));
+                enrichWithPostRegistration(new RegisterSampleCallback(viewContext)));
     }
 
     @Override
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
index cd9a8c4b9757c1893a18efc00fbf08c02cc006db..8a3a4e99e532766719cfad51de29dbd7f4c2f2d0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
@@ -76,6 +76,7 @@ var common = {
   
   button_add: "Add {0}",
   button_save: "Save",
+  button_save_and_upload: "Save + Upload Data Set",
   button_choose: "Choose",
   button_cancel: "Cancel",
   button_reset: "Clear",