diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
index b13f39b08549f2acc42b8ff9351d935a301b8bad..da2c68c2da03b0bdff57788ddca52c0f8e736ec5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
@@ -70,20 +70,21 @@ public abstract class AbstractAsyncCallback<T> implements AsyncCallback<T>
                             final AbstractAsyncCallback<Object> callback,
                             final String failureMessage, final Throwable throwable)
                     {
-
+                        String message = GWTUtils.translateToHtmlLineBreaks(failureMessage);
                         if (throwable instanceof UserFailureException)
                         {
                             UserFailureException userException = (UserFailureException) throwable;
-                            String details = userException.getDetails();
+                            String details =
+                                    GWTUtils.translateToHtmlLineBreaks(userException.getDetails());
                             if (details != null)
                             {
                                 GWTUtils.createErrorMessageWithDetailsDialog(messageProvider,
-                                        failureMessage, details).show();
+                                        message, details).show();
                                 return;
                             }
                         }
                         // no details - show simple error message box
-                        MessageBox.alert("Error", failureMessage, null);
+                        MessageBox.alert("Error", message, null);
                     }
 
                 };
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 936db0dfabbe013a23acd38f8984941f9befc082..bd7c3df808002ba27033565f7692be857b3f8110 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
@@ -313,9 +313,9 @@ public final class GWTUtils
         component.setToolTip(config);
     }
 
-    public static String translateToHtmlLineBreaks(String text)
+    public static String translateToHtmlLineBreaks(String textOrNull)
     {
-        return text.replace("\n", "<br>");
+        return textOrNull != null ? textOrNull.replace("\n", "<br>") : null;
     }
 
     /** @return specified model from the list if it's found, null otherwise */
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java
index c0eabd56c185ac7d21f4a850477306561d913512..7dc1af66d712a99214d99a234c481bd01fcc0747 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java
@@ -2218,7 +2218,14 @@ public final class CommonClientService extends AbstractClientService implements
     public void revertDeletions(List<TechId> deletionIds)
             throws ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException
     {
-        commonServer.revertDeletions(getSessionToken(), deletionIds);
+        try
+        {
+            commonServer.revertDeletions(getSessionToken(), deletionIds);
+        } catch (UserFailureException ex)
+        {
+            throw new ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException(
+                    ex.getMessage() + "\n\nTry reverting the dependent deletion first.");
+        }
     }
 
     public void deletePermanently(List<TechId> deletionIds)