diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MatchingEntitiesPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MatchingEntitiesPanel.java
index 1231eb9606d20a7fd45c05f5102fcab5884a460e..11ab42b30bec6f5bd8fda68bfa37fd51f6b96c05 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MatchingEntitiesPanel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MatchingEntitiesPanel.java
@@ -116,7 +116,8 @@ final class MatchingEntitiesPanel extends AbstractBrowserGrid<MatchingEntity, Ma
                         matchingEntity.getEntityType());
         final IClientPlugin<EntityType, EntityTypePropertyType<EntityType>, EntityProperty<EntityType, EntityTypePropertyType<EntityType>>, IIdentifierHolder, IEditableEntity<EntityType, EntityTypePropertyType<EntityType>, EntityProperty<EntityType, EntityTypePropertyType<EntityType>>>> createClientPlugin =
                 clientPluginFactory.createClientPlugin(entityKind);
-        final ITabItemFactory tabView = createClientPlugin.createEntityViewer(matchingEntity);
+        final ITabItemFactory tabView =
+                createClientPlugin.createEntityViewer(matchingEntity.asIdentifierHolder());
         DispatcherHelper.dispatchNaviEvent(tabView);
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserToolbar.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserToolbar.java
index 14640f93fc4a2a88066ea42266135a5c3cb7d527..b9fb5d96d2ed25423508dd46556966ee46190921 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserToolbar.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserToolbar.java
@@ -112,12 +112,15 @@ class ExperimentBrowserToolbar extends ToolBar implements IDatabaseModificationO
     public DatabaseModificationKind[] getRelevantModifications()
     {
         return new DatabaseModificationKind[]
-            { createOrDelete(ObjectKind.EXPERIMENT_TYPE), createOrDelete(ObjectKind.PROJECT) };
+            { createOrDelete(ObjectKind.EXPERIMENT_TYPE), createOrDelete(ObjectKind.PROJECT),
+                    createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) };
     }
 
     public void update(Set<DatabaseModificationKind> observedModifications)
     {
-        if (observedModifications.contains(createOrDelete(ObjectKind.EXPERIMENT_TYPE)))
+        if (observedModifications.contains(createOrDelete(ObjectKind.EXPERIMENT_TYPE))
+                || observedModifications
+                        .contains(createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT)))
         {
             selectExperimentTypeCombo.refreshStore();
         }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialBrowserGrid.java
index 354364a50854a719b24ba746816f4be02af4cc9c..f80b32c0261c93cb6730bb78d80f5cbef4de89c2 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialBrowserGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialBrowserGrid.java
@@ -29,6 +29,7 @@ import com.extjs.gxt.ui.client.widget.LayoutContainer;
 import com.extjs.gxt.ui.client.widget.button.Button;
 import com.extjs.gxt.ui.client.widget.toolbar.AdapterToolItem;
 import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
+import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
@@ -203,6 +204,12 @@ public class MaterialBrowserGrid extends AbstractBrowserGrid<Material, MaterialM
 
         if (detailsAvailable)
         {
+            String showDetailsTitle = viewContext.getMessage(Dict.BUTTON_SHOW_DETAILS);
+            Button showDetailsButton =
+                    createSelectedItemButton(showDetailsTitle, asShowEntityInvoker(false));
+            toolbar.add(new AdapterToolItem(showDetailsButton));
+            toolbar.add(new SeparatorToolItem());
+
             String editTitle = viewContext.getMessage(Dict.BUTTON_EDIT);
             Button editButton = createSelectedItemButton(editTitle, asShowEntityInvoker(true));
             toolbar.add(new AdapterToolItem(editButton));
@@ -341,6 +348,7 @@ public class MaterialBrowserGrid extends AbstractBrowserGrid<Material, MaterialM
         Set<DatabaseModificationKind> result = new HashSet<DatabaseModificationKind>();
         result.add(createOrDelete(ObjectKind.MATERIAL));
         result.add(edit(ObjectKind.MATERIAL));
+        result.add(createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT));
         return result;
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialBrowserToolbar.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialBrowserToolbar.java
index 67b632cb365fa9399bb6d641e90f79907233080f..ac0ba4587ed6fb7508304a4d80a4843592330b3e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialBrowserToolbar.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialBrowserToolbar.java
@@ -91,12 +91,15 @@ class MaterialBrowserToolbar extends ToolBar implements IDatabaseModificationObs
     public DatabaseModificationKind[] getRelevantModifications()
     {
         return new DatabaseModificationKind[]
-            { createOrDelete(ObjectKind.MATERIAL_TYPE) };
+            { createOrDelete(ObjectKind.MATERIAL_TYPE),
+                    createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) };
     }
 
     public void update(Set<DatabaseModificationKind> observedModifications)
     {
-        if (observedModifications.contains(createOrDelete(ObjectKind.MATERIAL_TYPE)))
+        if (observedModifications.contains(createOrDelete(ObjectKind.MATERIAL_TYPE))
+                || observedModifications
+                        .contains(createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT)))
         {
             selectMaterialTypeCombo.update(observedModifications);
         }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
index 41838a324e17602f2b839bb6a176f426893ef935..d6bcff354824c8b546c466b1f8f8c44fca16213e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
@@ -348,6 +348,7 @@ public final class SampleBrowserGrid extends AbstractBrowserGrid<Sample, SampleM
         Set<DatabaseModificationKind> result = new HashSet<DatabaseModificationKind>();
         result.add(createOrDelete(ObjectKind.SAMPLE));
         result.add(edit(ObjectKind.SAMPLE));
+        result.add(createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT));
         return result;
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserToolbar.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserToolbar.java
index c02c04beb71c37b08c97bd8c9f86245cf3cffaf0..64977add64c5f991f43ee809e1114cdfb7381591 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserToolbar.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserToolbar.java
@@ -120,12 +120,15 @@ final class SampleBrowserToolbar extends ToolBar implements IDatabaseModificatio
     public DatabaseModificationKind[] getRelevantModifications()
     {
         return new DatabaseModificationKind[]
-            { createOrDelete(ObjectKind.SAMPLE_TYPE), createOrDelete(ObjectKind.GROUP) };
+            { createOrDelete(ObjectKind.SAMPLE_TYPE), createOrDelete(ObjectKind.GROUP),
+                    createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) };
     }
 
     public void update(Set<DatabaseModificationKind> observedModifications)
     {
-        if (observedModifications.contains(createOrDelete(ObjectKind.SAMPLE_TYPE)))
+        if (observedModifications.contains(createOrDelete(ObjectKind.SAMPLE_TYPE))
+                || observedModifications
+                        .contains(createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT)))
         {
             selectSampleTypeCombo.refreshStore();
         }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/MatchingEntity.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/MatchingEntity.java
index c1c5b3f30d4376a43a55fb4124e7f9551d2c48a1..3473b651f65c69d9ed860081aaa4051a04904e5f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/MatchingEntity.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/MatchingEntity.java
@@ -21,6 +21,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifierHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person;
 
 /**
@@ -29,7 +30,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person;
  * 
  * @author Christian Ribeaud
  */
-public final class MatchingEntity implements IsSerializable, IIdentifierHolder
+public final class MatchingEntity implements IsSerializable
 {
     private String identifier;
 
@@ -98,15 +99,29 @@ public final class MatchingEntity implements IsSerializable, IIdentifierHolder
         this.textFragment = textFragment;
     }
 
-    //
-    // IIdentifierHolder
-    //
-
     public final String getIdentifier()
     {
         return identifier;
     }
 
+    public IIdentifierHolder asIdentifierHolder()
+    {
+        final String ident = getIdentifier();
+        return new IIdentifierHolder()
+            {
+                public String getIdentifier()
+                {
+                    if (getEntityKind() == EntityKind.MATERIAL)
+                    {
+                        return new MaterialIdentifier(ident, getEntityType().getCode()).print();
+                    } else
+                    {
+                        return ident;
+                    }
+                }
+            };
+    }
+
     //
     // Object
     //
@@ -116,4 +131,5 @@ public final class MatchingEntity implements IsSerializable, IIdentifierHolder
     {
         return getIdentifier();
     }
+
 }