diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/Dict.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/Dict.java
index 808f61b9ef4685fdea92b81955b360ed70b3dc10..b89ece68f9138e0286a004203c912cbb775fd6bc 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/Dict.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/Dict.java
@@ -113,6 +113,9 @@ public final class Dict extends ch.systemsx.cisd.openbis.generic.client.web.clie
 
     public static final String MATERIAL_IN_ALL_ASSAYS = "MATERIAL_IN_ALL_ASSAYS";
 
+    public static final String MATERIAL_IN_ALL_ASSAYS_OF_PROJECT =
+            "MATERIAL_IN_ALL_ASSAYS_OF_PROJECT";
+
     private Dict()
     {
         // Can not be instantiated.
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsComponent.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsComponent.java
index 59585851dbf35b2e5fb25cf94140c7548d55a9fe..bda748f93aaa0ff91d947223e83d36380c707d72 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsComponent.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsComponent.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicProjectIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict;
@@ -55,11 +56,32 @@ public class MaterialFeaturesFromAllExperimentsComponent
         final IDisposableComponent gridComponent =
                 MaterialFeaturesFromAllExperimentsGrid.create(screeningViewContext, material,
                         experimentSearchCriteria);
-        String headingText =
-                screeningViewContext.getMessage(Dict.MATERIAL_IN_ALL_ASSAYS,
-                        MaterialComponentUtils.getMaterialFullName(material, true));
+        String headingTextOtNull = tryCreateHeadingText(material, experimentSearchCriteria);
         return MaterialComponentUtils.createMaterialViewer(screeningViewContext, material,
-                headingText, gridComponent);
+                headingTextOtNull, gridComponent);
     }
 
+    private String tryCreateHeadingText(Material material,
+            ExperimentSearchByProjectCriteria experimentSearchCriteria)
+    {
+        if (screeningViewContext.getModel().isEmbeddedMode())
+        {
+            BasicProjectIdentifier projectIdentifierOrNull =
+                    experimentSearchCriteria.tryGetProjectIdentifier();
+            if (projectIdentifierOrNull != null)
+            {
+                return screeningViewContext.getMessage(Dict.MATERIAL_IN_ALL_ASSAYS_OF_PROJECT,
+                        MaterialComponentUtils.getMaterialFullName(material, true),
+                        projectIdentifierOrNull);
+            } else
+            {
+                return screeningViewContext.getMessage(Dict.MATERIAL_IN_ALL_ASSAYS,
+                        MaterialComponentUtils.getMaterialFullName(material, true));
+            }
+        } else
+        {
+            // header is not needed in SIMPLE & NORMAL view mode because there the context is clear
+            return null;
+        }
+    }
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsGrid.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsGrid.java
index 3202c0f4bec5059b439c894d6d3443f7ce904b70..ab1e516cfae7ed52689ea6fc74ddf370265f8bb9 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsGrid.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsGrid.java
@@ -38,6 +38,7 @@ import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.D
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ui.columns.specific.ScreeningLinkExtractor;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ExperimentReference;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.MaterialSimpleFeatureVectorSummary;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria.ExperimentSearchByProjectCriteria;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria.ExperimentSearchCriteria;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.grids.MaterialFeatureVectorsFromAllExperimentsGridColumnIDs;
@@ -152,8 +153,7 @@ public class MaterialFeaturesFromAllExperimentsGrid extends
 
     private boolean getRestrictGlobalScopeLinkToProject()
     {
-        return experimentSearchCriteria != null
-                && experimentSearchCriteria.tryGetProjectIdentifier() != null;
+        return WellSearchCriteria.shouldRestrictScopeToProject(experimentSearchCriteria);
     }
 
     private ExperimentSearchCriteria getExperimentCriteria(
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/SingleOrAllExperimentsChooser.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/SingleOrAllExperimentsChooser.java
index a03755bf345bb122ed7377e19e9588bc9d8aaa8b..19664b5b3eb722ee95cf871c2430e73ca7f45383 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/SingleOrAllExperimentsChooser.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/SingleOrAllExperimentsChooser.java
@@ -46,6 +46,8 @@ class SingleOrAllExperimentsChooser extends LayoutContainer
 
     private static final String ALL_EXPERIMENTS_TEXT = "All experiments";
 
+    private static final String ALL_EXPERIMENTS_FROM_PROJECT_TEXT = "All experiments from ";
+
     private static final String CHOOSE_ONE_EXPERIMENT_TEXT = "Choose one experiment...";
 
     private SingleExperimentSearchCriteria singleExperimentChooserStateOrNull;
@@ -140,6 +142,15 @@ class SingleOrAllExperimentsChooser extends LayoutContainer
         experimentRadio.setOrientation(Orientation.HORIZONTAL);
 
         final Radio allExps = new Radio();
+        if (restrictGlobalScopeLinkToProject)
+        {
+            String projectIdentifier =
+                    experimentCriteriaHolder.tryGetCriteria().tryGetProjectIdentifier().toString();
+            allExps.setBoxLabel(ALL_EXPERIMENTS_FROM_PROJECT_TEXT + projectIdentifier);
+        } else
+        {
+            allExps.setBoxLabel(ALL_EXPERIMENTS_TEXT);
+        }
         allExps.setBoxLabel(ALL_EXPERIMENTS_TEXT);
         experimentRadio.add(allExps);
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/utils/MaterialComponentUtils.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/utils/MaterialComponentUtils.java
index 276e50d463e51dc75896469f8561ce2e6ae9bdb2..fb67e01f90a5a3e81e61083ed5040a64a4dbd839 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/utils/MaterialComponentUtils.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/utils/MaterialComponentUtils.java
@@ -114,10 +114,13 @@ public class MaterialComponentUtils
         return additionalProperties;
     }
 
-    /** Creates a grid with some header on top containing the specified title and entity properties. */
+    /**
+     * Creates a grid with optional header on top containing the specified title and entity
+     * properties.
+     */
     private static IDisposableComponent createViewer(
             IViewContext<IScreeningClientServiceAsync> viewContext,
-            IEntityInformationHolderWithProperties entity, String headingText,
+            IEntityInformationHolderWithProperties entity, String headingTextOrNull,
             final IDisposableComponent gridComponent,
             Map<String/* label */, String/* value */> additionalPropertiesOrNull,
             String... excludedPropertyCodes)
@@ -125,8 +128,11 @@ public class MaterialComponentUtils
         final LayoutContainer panel = new LayoutContainer();
         panel.setLayout(new BorderLayout());
 
-        addHeader(panel, viewContext, headingText, entity, additionalPropertiesOrNull,
-                excludedPropertyCodes);
+        if (headingTextOrNull != null)
+        {
+            addHeader(panel, viewContext, headingTextOrNull, entity, additionalPropertiesOrNull,
+                    excludedPropertyCodes);
+        }
 
         panel.add(gridComponent.getComponent(), new BorderLayoutData(LayoutRegion.CENTER));
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
index 34b53f1bef39d81e491b2c3bb3a43bd5a602e3e4..ccc22d70049f596e5c088fcce0c34049c1a17f9d 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
@@ -113,6 +113,7 @@ FIND_IN_ALL_ASSAYS: "Find {0} in all experiments",
 MATERIAL_IN_ASSAY: "{0} in experiment {1}",
 SHOW_ASSAY: "Show experiment {0}",
 MATERIAL_IN_ALL_ASSAYS: "{0} in all experiments",
+MATERIAL_IN_ALL_ASSAYS_OF_PROJECT: "{0} in all experiments of project {1}",
 
 // LAST LINE: KEEP IT AT THE END
 lastline: "" // we need a line without a comma
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellSearchCriteria.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellSearchCriteria.java
index a925b0df34327eb5b38b46537a3aad6cfbb41b40..f443fba9bc7e5d57c14ac72758f5ab4a5281b5d0 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellSearchCriteria.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellSearchCriteria.java
@@ -468,4 +468,16 @@ public class WellSearchCriteria implements ISerializable
     {
         return materialCriteria;
     }
+
+    public static boolean shouldRestrictScopeToProject(
+            ExperimentSearchCriteria searchCriteria)
+    {
+        return searchCriteria != null && searchCriteria.tryGetProjectIdentifier() != null;
+    }
+
+    public static boolean shouldRestrictScopeToProject(
+            ExperimentSearchByProjectCriteria searchCriteria)
+    {
+        return searchCriteria != null && searchCriteria.tryGetProjectIdentifier() != null;
+    }
 }