diff --git a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
index a783562464efd158bc7f3fa6219bcdb41fff2e86..8e29f17628142ff3c55928a996bc96a085918d5a 100644
--- a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
+++ b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
@@ -6,7 +6,11 @@ import akka.event.Logging;
 import akka.event.LoggingAdapter;
 import akka.japi.Creator;
 import eu.hbp.mip.messages.external.QueryResult;
+import eu.hbp.mip.model.Experiment;
+import eu.hbp.mip.repositories.ExperimentRepository;
+import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.Date;
 import java.util.UUID;
 
 /**
@@ -14,6 +18,9 @@ import java.util.UUID;
  */
 public class ExperimentActor extends UntypedActor {
 
+    @Autowired
+    private ExperimentRepository experimentRepository;
+
     public static Props props(final UUID expUUID) {
         return Props.create(new Creator<ExperimentActor>() {
             private static final long serialVersionUID = 1L;
@@ -38,6 +45,11 @@ public class ExperimentActor extends UntypedActor {
         if (message instanceof QueryResult) {
             QueryResult queryResult = (QueryResult) message;
             log.info("received query result for : " + expUUID.toString());
+            Experiment experiment = experimentRepository.findOne(expUUID);
+            experiment.setResult(queryResult.data().get());
+            experiment.setFinished(new Date());
+            experimentRepository.save(experiment);
+            log.info("Experiment "+ expUUID +" updated (finished)");
         }
         else {
             unhandled(message);