diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/GWTUtils.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/GWTUtils.java
index d0277e0733e3a13722df371d3841d8f3ed4d7eaf..145d9065edb866122a6320db6db0f33c4b607b6b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/GWTUtils.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/GWTUtils.java
@@ -28,6 +28,7 @@ import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
 import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
 import com.extjs.gxt.ui.client.widget.treegrid.TreeGrid;
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.DeferredCommand;
 import com.google.gwt.user.client.ui.ListBox;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames;
@@ -69,6 +70,14 @@ public final class GWTUtils
         testing = true;
     }
 
+    /**
+     * Deferrs a task allowing browser to handle events.
+     */
+    public static void executeDelayed(final IDelegatedAction delegatedAction)
+    {
+        DeferredCommand.addCommand(delegatedAction);
+    }
+
     /**
      * Selects given <var>value</var> of given <var>listBox</var>.
      */
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/IDelegatedAction.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/IDelegatedAction.java
index dbf5ab702f37d5994340baafe83bf9b7c1ec86ce..6f52fd5ba45fb2c77220b6d04a9aac21d1d166b8 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/IDelegatedAction.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/IDelegatedAction.java
@@ -16,13 +16,15 @@
 
 package ch.systemsx.cisd.openbis.generic.client.web.client.application.util;
 
+import com.google.gwt.user.client.Command;
+
 /**
  * Use this interface to delegate any kind of action to a different part of code without adding an
  * explicit dependency.
  * 
  * @author Tomasz Pylak
  */
-public interface IDelegatedAction
+public interface IDelegatedAction extends Command
 {
     void execute();
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
index d293ab7df65c0a5468703dee0c36e15eee5db200..a8db7a761ee2cfdea11f7e916463a27c227cea59 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
@@ -21,9 +21,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
-import com.extjs.gxt.ui.client.event.BaseEvent;
-import com.extjs.gxt.ui.client.event.Listener;
-import com.extjs.gxt.ui.client.util.DelayedTask;
 import com.extjs.gxt.ui.client.widget.Html;
 import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
 
@@ -42,6 +39,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.Abstrac
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentListDeletionConfirmationDialog;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.SectionsPanel;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IAttachmentHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable;
@@ -147,7 +145,7 @@ public class GenericExperimentViewer extends AbstractViewer<Experiment> implemen
         layout();
         viewContext.logStop(logId);
 
-        executeDelayed(new IDelegatedAction()
+        GWTUtils.executeDelayed(new IDelegatedAction()
             {
                 public void execute()
                 {
@@ -160,18 +158,6 @@ public class GenericExperimentViewer extends AbstractViewer<Experiment> implemen
             });
     }
 
-    private static void executeDelayed(final IDelegatedAction delegatedAction)
-    {
-        DelayedTask delayedTask = new DelayedTask(new Listener<BaseEvent>()
-            {
-                public void handleEvent(BaseEvent be)
-                {
-                    delegatedAction.execute();
-                }
-            });
-        delayedTask.delay(1);
-    }
-
     public static final String createId(final IIdentifiable identifiable)
     {
         return createId(TechId.create(identifiable));