diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleBatchRegistrationForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleBatchRegistrationForm.java
index 2714cfaa6b038bdb67a5e2883b91a680fc44d79c..9f0be1a3f60f5bbe150103bcdcf95e539dda2291 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleBatchRegistrationForm.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleBatchRegistrationForm.java
@@ -78,6 +78,7 @@ public final class GenericSampleBatchRegistrationForm extends AbstractSampleBatc
         groupSelector =
                 createGroupField(viewContext.getCommonViewContext(), "" + getId(), true,
                         generateCodesCheckbox);
+
         generateCodesCheckbox.addListener(Events.Change, new Listener<FieldEvent>()
             {
                 @Override
@@ -85,6 +86,22 @@ public final class GenericSampleBatchRegistrationForm extends AbstractSampleBatc
                 {
                     boolean selected = (Boolean) be.getValue();
                     FieldUtil.setVisibility(selected, groupSelector);
+                    if (selected)
+                    {
+                        updateExistingCheckbox.setValue(false);
+                    }
+                }
+            });
+        updateExistingCheckbox.addListener(Events.Change, new Listener<FieldEvent>()
+            {
+                @Override
+                public void handleEvent(FieldEvent be)
+                {
+                    boolean selected = (Boolean) be.getValue();
+                    if (selected)
+                    {
+                        generateCodesCheckbox.setValue(false);
+                    }
                 }
             });
     }