diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/eiffel/api/EiffelGraphQlClient.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/eiffel/api/EiffelGraphQlClient.java
index 572d17d..c3c9201 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/eiffel/api/EiffelGraphQlClient.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/eiffel/api/EiffelGraphQlClient.java
@@ -18,6 +18,7 @@
 import com.google.common.collect.Lists;
 import com.google.common.flogger.FluentLogger;
 import com.google.gson.Gson;
+import com.google.gson.JsonSyntaxException;
 import com.googlesource.gerrit.plugins.eventseiffel.eiffel.ArtifactEventKey;
 import com.googlesource.gerrit.plugins.eventseiffel.eiffel.CompositionDefinedEventKey;
 import com.googlesource.gerrit.plugins.eventseiffel.eiffel.EventKey;
@@ -135,18 +136,25 @@
       throw new EventStorageException(e, "Query \"%s\" failed.", query);
     }
 
-    QueryResult result = GSON.fromJson(response.body(), QueryResult.class);
+    if (response.statusCode() != 200) {
+      throw new EventStorageException(
+          "Query \"%s\" failed: [%d] %s", query, response.statusCode(), response.body());
+    }
+
+    QueryResult result;
+    try {
+      result = GSON.fromJson(response.body(), QueryResult.class);
+    } catch (JsonSyntaxException e) {
+      throw new EventStorageException(
+          e, "Query \"%s\" failed, invalid reply: %s", query, response.body());
+    }
 
     if (result.errors != null) {
       throw new EventStorageException(
           "Query \"%s\" failed: %s", query, String.join(" | ", result.getErrorMessages()));
     }
 
-    if (response.statusCode() == 200) {
-      return result;
-    }
-
-    throw new EventStorageException("Query \"%s\" failed: %s", query, response.body());
+    return result;
   }
 
   private HttpResponse<String> post(String query) throws IOException, InterruptedException {
