diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IExperimentDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IExperimentDAO.java
index a79ff24507f31a35868ebb1caf51e98becc42001..ac68f2bb0d5141e24428aea9c31f6d67b49d9025 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IExperimentDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IExperimentDAO.java
@@ -33,17 +33,20 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE;
 public interface IExperimentDAO extends IGenericDAO<ExperimentPE>
 {
     /**
-     * Lists all belonging to given <code>project</code>. Fetches also properties.
+     * Lists experiments of the specified project. Fetches also properties.
+     * 
+     * @param projectOrNull If <code>null</code> all experiments are returned.
      */
-    public List<ExperimentPE> listExperimentsWithProperties(final ProjectPE project)
+    public List<ExperimentPE> listExperimentsWithProperties(final ProjectPE projectOrNull)
             throws DataAccessException;
 
     /**
-     * Lists all of given <code>type</code> belonging to given <code>project</code>. Fetches also
-     * properties.
+     * Lists experiments of specified type and specified project. Fetches also properties.
+     * 
+     * @param projectOrNull If <code>null</code> all experiments of specified type are returned.
      */
     public List<ExperimentPE> listExperimentsWithProperties(final ExperimentTypePE experimentType,
-            final ProjectPE project) throws DataAccessException;
+            final ProjectPE projectOrNull) throws DataAccessException;
 
     /**
      * Lists all registered experiments. Doesn't fetch properties.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ExperimentDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ExperimentDAO.java
index d91485d5d51e0a932ee40ea5e631d4dcdc095d76..31141cfc3dbf78aa937a9d9a9a0266ea9b4e9961 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ExperimentDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ExperimentDAO.java
@@ -57,31 +57,32 @@ public class ExperimentDAO extends AbstractGenericEntityDAO<ExperimentPE> implem
         super(sessionFactory, databaseInstance, ExperimentPE.class);
     }
 
-    public List<ExperimentPE> listExperimentsWithProperties(final ProjectPE project)
+    public List<ExperimentPE> listExperimentsWithProperties(final ProjectPE projectOrNull)
             throws DataAccessException
     {
-        return listExperimentsWithProperties(null, project);
+        return listExperimentsWithProperties(null, projectOrNull);
     }
 
     public List<ExperimentPE> listExperimentsWithProperties(
-            final ExperimentTypePE experimentTypeOrNull, final ProjectPE project)
+            final ExperimentTypePE experimentTypeOrNull, final ProjectPE projectOrNull)
             throws DataAccessException
     {
-        assert project != null : "Unspecified project.";
-
         final DetachedCriteria criteria = DetachedCriteria.forClass(getEntityClass());
         if (experimentTypeOrNull != null)
         {
             criteria.add(Restrictions.eq("experimentType", experimentTypeOrNull));
         }
-        criteria.add(Restrictions.eq("projectInternal", project));
+        if (projectOrNull != null)
+        {
+            criteria.add(Restrictions.eq("projectInternal", projectOrNull));
+        }
         criteria.setFetchMode("experimentProperties", FetchMode.JOIN);
         criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
         final List<ExperimentPE> list = cast(getHibernateTemplate().findByCriteria(criteria));
         if (operationLog.isDebugEnabled())
         {
             operationLog.debug(String.format("%d experiments have been found for project '%s'%s.",
-                    list.size(), project, (experimentTypeOrNull == null) ? ""
+                    list.size(), projectOrNull, (experimentTypeOrNull == null) ? ""
                             : " and experiment type '" + experimentTypeOrNull + "'"));
         }
         return list;