diff --git a/authentication/source/java/ch/systemsx/cisd/authentication/DummyAuthenticationService.java b/authentication/source/java/ch/systemsx/cisd/authentication/DummyAuthenticationService.java
index a707616fb3272b644c0ec1b7f6c079ed21686995..3a80df16ce4205ca40cc337b9e8c0ac77f0c92bb 100644
--- a/authentication/source/java/ch/systemsx/cisd/authentication/DummyAuthenticationService.java
+++ b/authentication/source/java/ch/systemsx/cisd/authentication/DummyAuthenticationService.java
@@ -38,14 +38,14 @@ public final class DummyAuthenticationService implements IAuthenticationService
     }
 
     /**
-     * Always returns <code>true</code>, meaning that the login was successfull.
+     * Always returns <code>true</code>, meaning that the login was successful.
      */
-    public final boolean authenticateUser(String applicationToken, String user, String password)
+    public final boolean authenticateUser(final String applicationToken, final String user, final String password)
     {
         return true;
     }
 
-    public final Principal getPrincipal(String applicationToken, String user)
+    public final Principal getPrincipal(final String applicationToken, final String user)
     {
         return new Principal(user, "John", "Doe", "franz-josef.elmer@systemsx.ch");
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/LoginWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/LoginWidget.java
index c3b5b49ae2ee2aa25c3e5e388530550d5bb46b7d..f1ea36610febd70cd14cd727a2a7a23da4c3a1e5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/LoginWidget.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/LoginWidget.java
@@ -162,11 +162,18 @@ public class LoginWidget extends VerticalPanel
         }
     }
 
+    public final void resetFields()
+    {
+        userField.reset();
+        passwordField.reset();
+        button.enable();
+    }
+
     //
     // Helper classes
     //
 
-    public static final class LoginCallback extends AbstractAsyncCallback<SessionContext>
+    public final class LoginCallback extends AbstractAsyncCallback<SessionContext>
     {
         private LoginCallback(final IViewContext<IGenericClientServiceAsync> viewContext)
         {
@@ -177,6 +184,12 @@ public class LoginWidget extends VerticalPanel
         // AbstractAsyncCallback
         //
 
+        @Override
+        protected final void finishOnFailure(final Throwable caught)
+        {
+            resetFields();
+        }
+
         @Override
         public final void process(final SessionContext sessionContext)
         {
@@ -200,6 +213,7 @@ public class LoginWidget extends VerticalPanel
             {
                 viewContext.getPageController().reload();
             }
+            resetFields();
         }
     }
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample_browser/SampleBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample_browser/SampleBrowserGrid.java
index f0d77cf12e9b9a5f4e599304e7133f492d6ab966..688b771db69e75071549c737745a1cc568ae4ff8 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample_browser/SampleBrowserGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample_browser/SampleBrowserGrid.java
@@ -390,7 +390,7 @@ public final class SampleBrowserGrid extends LayoutContainer
                             @Override
                             protected final void finishOnFailure(final Throwable caught)
                             {
-                                // callback.onFailure(caught);
+                                callback.onFailure(caught);
                             }
                         };
                 }