diff --git a/src/main/java/eu/hbp/mip/services/ExperimentService.java b/src/main/java/eu/hbp/mip/services/ExperimentService.java
index a79db101653eaeda2dc39082b53bf745308a0a7c..eb4001665faacc73a9c912950b720e4cb131daae 100644
--- a/src/main/java/eu/hbp/mip/services/ExperimentService.java
+++ b/src/main/java/eu/hbp/mip/services/ExperimentService.java
@@ -169,6 +169,11 @@ public class ExperimentService {
         // Get the type and name of algorithm
         String algorithmType = experimentDTO.getAlgorithmDetails().getType();
 
+        if(algorithmType == null){
+            Logging.LogUserAction(user.getUsername(), endpoint, "Please provide algorithm type.");
+            throw new BadRequestException("Please provide algorithm type.");
+        }
+
         algorithmParametersLogging(experimentDTO, endpoint);
 
         if (authenticationIsEnabled) {
@@ -577,7 +582,8 @@ public class ExperimentService {
         Logging.LogExperimentAction(experimentDTO.getName(), experimentDTO.getUuid(), "Algorithm finished with code: " + code);
 
         // Results are stored in the experiment object
-        List<ExperimentDTO.ResultDTO> resultDTOS = JsonConverters.convertJsonStringToObject(String.valueOf(results), new ArrayList<ExperimentDTO.ResultDTO>().getClass());
+        ExperimentDTO experimentDTOWithOnlyResult = JsonConverters.convertJsonStringToObject(String.valueOf(results), ExperimentDTO.class);
+        List<ExperimentDTO.ResultDTO> resultDTOS = experimentDTOWithOnlyResult.getResult();
         return new ExaremeResult(code, resultDTOS);
     }