diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/api/v1/QueryApiServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/api/v1/QueryApiServer.java
index 9834ed6ceafe553f876c3773f51376b613f4f91a..8ab078468aca4b1295cba2a263e2aefd955cd06e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/api/v1/QueryApiServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/api/v1/QueryApiServer.java
@@ -151,9 +151,13 @@ public class QueryApiServer extends AbstractServer<IQueryApiServer> implements I
     public QueryTableModel createReportFromDataSets(String sessionToken, String dataStoreCode,
             String serviceKey, List<String> dataSetCodes)
     {
-        return translate(commonServer.createReportFromDatasets(sessionToken,
+        checkSession(sessionToken);
+
+        DatastoreServiceDescription description =
                 DatastoreServiceDescription.reporting(serviceKey, "", new String[0], dataStoreCode,
-                        null), dataSetCodes));
+                        null);
+        return translate(commonServer.createReportFromDatasets(sessionToken, description,
+                dataSetCodes));
     }
 
     public int getMajorVersion()
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/api/v1/Util.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/api/v1/Util.java
index 27867f21e6436df8a21dc46291da6da10e442639..b6bbc61109c53c04753c6039ff62e35fbddb6097 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/api/v1/Util.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/api/v1/Util.java
@@ -20,19 +20,24 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
 import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.QueryTableColumnDataType;
 
 /**
- * 
- *
  * @author Franz-Josef Elmer
  */
 class Util
 {
-    static QueryTableColumnDataType translate(DataTypeCode dataTypeCode)
+    static QueryTableColumnDataType translate(DataTypeCode dataTypeCodeOrNull)
     {
-        switch (dataTypeCode)
+        if (dataTypeCodeOrNull == null)
+        {
+            return QueryTableColumnDataType.STRING;
+        }
+        switch (dataTypeCodeOrNull)
         {
-            case INTEGER: return QueryTableColumnDataType.LONG;
-            case REAL: return QueryTableColumnDataType.DOUBLE;
-            default: return QueryTableColumnDataType.STRING;
+            case INTEGER:
+                return QueryTableColumnDataType.LONG;
+            case REAL:
+                return QueryTableColumnDataType.DOUBLE;
+            default:
+                return QueryTableColumnDataType.STRING;
         }
     }
 }