diff --git a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
index 8e29f17628142ff3c55928a996bc96a085918d5a..b93fbc0e1d529a4ae5eeb76dbd595bef95b58e73 100644
--- a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
+++ b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
@@ -5,6 +5,7 @@ import akka.actor.UntypedActor;
 import akka.event.Logging;
 import akka.event.LoggingAdapter;
 import akka.japi.Creator;
+import eu.hbp.mip.messages.external.QueryError;
 import eu.hbp.mip.messages.external.QueryResult;
 import eu.hbp.mip.model.Experiment;
 import eu.hbp.mip.repositories.ExperimentRepository;
@@ -51,6 +52,17 @@ public class ExperimentActor extends UntypedActor {
             experimentRepository.save(experiment);
             log.info("Experiment "+ expUUID +" updated (finished)");
         }
+        else if (message instanceof QueryError) {
+            QueryError queryError = (QueryError) message;
+            log.warning("received query error");
+            Experiment experiment = experimentRepository.findOne(expUUID);
+            experiment.setHasServerError(true);
+            experiment.setResult(queryError.message());
+            experimentRepository.save(experiment);
+            experiment.setFinished(new Date());
+            experimentRepository.save(experiment);
+            log.info("Experiment "+ expUUID +" updated (finished)");
+        }
         else {
             unhandled(message);
         }