diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java
index 95fda8b277fdd7b633bee73a3dd6e82e6879cf82..e5a3c989b967ea9b52e68b5b6f8f68440b86451b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java
@@ -777,7 +777,7 @@ public abstract class AbstractBrowserGrid<T/* Entity */, M extends BaseEntityMod
             {
                 public void handleEvent(SelectionChangedEvent<ModelData> se)
                 {
-                    boolean enabled = getSelectedItems().size() == 1;
+                    boolean enabled = se.getSelection().size() == 1;
                     button.setEnabled(enabled);
                 }
 
@@ -814,7 +814,7 @@ public abstract class AbstractBrowserGrid<T/* Entity */, M extends BaseEntityMod
             {
                 public void handleEvent(SelectionChangedEvent<ModelData> se)
                 {
-                    boolean enabled = getSelectedItems().size() > 0;
+                    boolean enabled = se.getSelection().size() > 0;
                     button.setEnabled(enabled);
                 }
 
@@ -832,7 +832,7 @@ public abstract class AbstractBrowserGrid<T/* Entity */, M extends BaseEntityMod
             {
                 public void handleEvent(SelectionChangedEvent<ModelData> se)
                 {
-                    boolean noSelected = getSelectedItems().size() == 0;
+                    boolean noSelected = se.getSelection().size() == 0;
                     button.setText(noSelected ? noSelectedItemsTitle : selectedItemsTitle);
                 }
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractGWTTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractGWTTestCase.java
index 2f7a3d3abc0249862aa373ec443516b30e861913..8e78c3708e6f54c0f5de030274a155451bfc5481 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractGWTTestCase.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractGWTTestCase.java
@@ -84,7 +84,7 @@ public abstract class AbstractGWTTestCase extends GWTTestCase
     @Override
     protected final void gwtSetUp() throws Exception
     {
-        System.out.println("TEST: " + getName() + " (started at " + new Date() + ")");
+        outputStartMessage();
         remoteConsole = new RemoteConsole(this);
         clearControllers();
         client = new Client();
@@ -92,6 +92,20 @@ public abstract class AbstractGWTTestCase extends GWTTestCase
         setUpTest();
     }
 
+    private void outputStartMessage()
+    {
+        String msg = "--< TEST: " + getName() + " (started at " + new Date() + ") >--";
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < msg.length(); i++)
+        {
+            sb.append("-");
+        }
+        String lineSeparator = sb.toString();
+        System.out.println(lineSeparator);
+        System.out.println(msg);
+        System.out.println(lineSeparator);
+    }
+
     /**
      * Starts the tests. Sets the timeout after which the test is terminated.
      */
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/RemoteConsole.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/RemoteConsole.java
index a7a24bcd34d4ff2e6c2e2a46db9bf5742a809a76..d0685690eb58d9c157428f0bef5b4c0722023f0d 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/RemoteConsole.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/RemoteConsole.java
@@ -129,7 +129,7 @@ public class RemoteConsole
         private final void executeCommand()
         {
             final ITestCommand testCommand = commands.get(entryIndex++);
-            System.out.println("EXECUTE: " + testCommand);
+            System.out.println("--> EXECUTE: " + testCommand);
             testCommand.execute();
             if (entryIndex == commands.size())
             {
@@ -148,10 +148,14 @@ public class RemoteConsole
             if (entryIndex < commands.size())
             {
                 ITestCommand cmd = commands.get(entryIndex);
-                if (cmd.isValidOnSucess(result) && areAllCallbacksFinished())
+                // Sometimes there are no callbacks activated between execution of two commands.
+                // We invoke them one after another in a while loop.
+                while (cmd.isValidOnSucess(result) && areAllCallbacksFinished())
                 {
-                    executeCommand();
-                    return;
+                    while (areAllCallbacksFinished())
+                    {
+                        executeCommand();
+                    }
                 }
             }
         }