diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
index 6f6906437f842e77f9449d5173864aa056b7ed12..66c66880a48286e3473d40d63519778cd2c02af3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
@@ -78,6 +78,8 @@ public abstract class Dict
 
     public static final String ENTITY_OPERATIONS = "entity_operations";
 
+    public static final String BREADCRUMBS_SEPARATOR = "breadcrumbs_separator";
+
     //
     // Table Modifications
     //
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java
index 329e6f2c51901643563b1522b32df13e55276af1..65aa0e14d9a297503088d52ad2e4c18c904ffc86 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java
@@ -113,7 +113,7 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
             toolBar = new ToolBar();
             setTopComponent(toolBar);
             titleLabel = new LabelToolItem(title);
-            toolBar.add(breadcrumbContainer = new BreadcrumbContainer());
+            toolBar.add(breadcrumbContainer = new BreadcrumbContainer(viewContext));
             toolBar.add(new FillToolItem());
             if (viewContext.isSimpleOrEmbeddedMode() == false)
             {
@@ -230,16 +230,9 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
         breadcrumbContainer.removeAll();
         List<Widget> widgets = new ArrayList<Widget>();
         fillBreadcrumbWidgets(widgets);
-        if (widgets.size() == 1)
+        for (Widget widget : widgets)
         {
-            // add raw widget without separator if there is just one widget
-            breadcrumbContainer.addWidget(widgets.get(0));
-        } else
-        {
-            for (Widget widget : widgets)
-            {
-                breadcrumbContainer.addBreadcrumb(widget);
-            }
+            breadcrumbContainer.addBreadcrumb(widget);
         }
         breadcrumbContainer.layout();
         syncSize(); // fixes layout problems in simple view mode
@@ -376,10 +369,11 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
 
     private static class BreadcrumbContainer extends LayoutContainer
     {
-        private final static String SEPARATOR = "/";
+        private final String separator;
 
-        public BreadcrumbContainer()
+        public BreadcrumbContainer(IMessageProvider messageProvider)
         {
+            this.separator = messageProvider.getMessage(Dict.BREADCRUMBS_SEPARATOR);
             setLayout(createLayout());
         }
 
@@ -392,16 +386,16 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
             return tableRowLayout;
         }
 
-        /** adds the <var>widget</var> with a separator prefix to breadcrumbs */
+        /**
+         * Adds the <var>widget</var> to breadcrumbs. For every widget but the first one a separator
+         * will be added before the widget.
+         */
         public void addBreadcrumb(Widget widget)
         {
-            add(new Html(SEPARATOR));
-            addWidget(widget);
-        }
-
-        /** adds the <var>widget</var> to breadcrumbs (without separator prefix) */
-        public void addWidget(Widget widget)
-        {
+            if (getItemCount() > 0)
+            {
+                add(new Html(separator));
+            }
             add(widget);
         }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
index c421576f3b16961e941a331bf30d16834114009d..b79e7b58f5710bb69e18b183730ff45161d7fc6b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
@@ -57,8 +57,9 @@ var common = {
   auto_resolve_label: "Smart View",
   data_report_label: "Report:",
   explore_label: "Explore:",
-  add_unofficial_vocabulary_term_dialog_title: "Add Ad Hoc Term",
-	
+  add_unofficial_vocabulary_term_dialog_title: "Add Ad Hoc Term",
+  breadcrumbs_separator: "»",
+	 
   //
   // Table Modifications
   //