diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/AbstractDataConfirmationDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/AbstractDataConfirmationDialog.java
index 9f1f1d02c453223d201ba7e8ee0f2aa40ffd92bd..087e030cf66d0f6b025337400cc9774d10392304 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/AbstractDataConfirmationDialog.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/AbstractDataConfirmationDialog.java
@@ -109,14 +109,18 @@ public abstract class AbstractDataConfirmationDialog<T> extends Dialog
     }
 
     @Override
-    protected final void onButtonPressed(Button button)
+    protected final void onButtonPressed(final Button button)
     {
         if (button.getItemId().equals(Dialog.OK))
         {
+            button.disable();
             if (validate())
             {
                 executeConfirmedAction();
                 super.onButtonPressed(button);
+            } else
+            {
+                button.enable();
             }
         } else
         {