diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
index 5e4620f9cec3b368d569003e921f9a1edaabc07c..d94514c6e78eda1e10c0db3459671dd2a3e770f8 100644
--- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
@@ -1,6 +1,7 @@
 package eu.hbp.mip.controllers;
 
 import akka.dispatch.OnSuccess;
+import ch.chuv.lren.mip.portal.WokenConversions;
 import com.google.common.collect.Lists;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -269,11 +270,9 @@ public class ExperimentApi extends WokenClientController {
                 } else {
                     if (queryResult.error().nonEmpty()) {
                         experiment.setHasServerError(true);
-                        experiment.setResult(queryResult.error().get());
                         LOGGER.error("Experiment failed with message: " + queryResult.error().get());
-                    } else {
-                        experiment.setResult(queryResult.data().get().compactPrint());
                     }
+                    experiment.setResult(new WokenConversions().toJson(queryResult));
                     experiment.setFinished(Date.from(queryResult.timestamp().toInstant()));
                     experimentRepository.save(experiment);
                     LOGGER.info("Experiment " + uuid + " updated (finished)");
diff --git a/src/main/scala/ch.chuv.lren/mip/portal/WokenConversions.scala b/src/main/scala/ch.chuv.lren/mip/portal/WokenConversions.scala
index a0240df7d4bf4111be1ae4819266a6a120f377df..6abe7b362661e997730feae6a0790785ca13784e 100644
--- a/src/main/scala/ch.chuv.lren/mip/portal/WokenConversions.scala
+++ b/src/main/scala/ch.chuv.lren/mip/portal/WokenConversions.scala
@@ -2,9 +2,10 @@ package ch.chuv.lren.mip.portal
 
 import eu.hbp.mip.model.Variable
 import ch.chuv.lren.woken.messages.datasets.DatasetId
+import ch.chuv.lren.woken.messages.query.QueryResult
 import ch.chuv.lren.woken.messages.query.filters.FilterRule
 import ch.chuv.lren.woken.messages.query.filters.FilterRule._
-import ch.chuv.lren.woken.messages.query.filters.queryFiltersProtocol._
+import ch.chuv.lren.woken.messages.query.queryProtocol._
 import org.springframework.stereotype.Component
 import spray.json._
 
@@ -24,4 +25,6 @@ class WokenConversions {
 
   def toSqlWhere(filter: Option[FilterRule]): String = filter.fold("")(_.toSqlWhere)
 
+  def toJson(result: QueryResult): String =
+    result.toJson.compactPrint
 }