diff --git a/WORKSPACE b/WORKSPACE
index cb29f86..cc27dae 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "8d7664e169100e537340aed89345c3245cf12f22",
+    commit = "8386b3fbf80e375f0a10c8386c0a8dfe260c5c1b",
     #local_path = "/home/<user>/projects/bazlets",
 )
 
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
index 49754b5..2feb4ad 100644
--- a/external_plugin_deps.bzl
+++ b/external_plugin_deps.bzl
@@ -125,8 +125,8 @@
     maven_jar(
         name = "jgit",
         artifact =
-            "org.eclipse.jgit:org.eclipse.jgit:4.7.7.201812240805-r",
-        sha1 = "d2358e838084d2482d51b51b70fd34a356495925",
+            "org.eclipse.jgit:org.eclipse.jgit:4.9.8.201812241815-r",
+        sha1 = "dedb5d05a952551dc465611ebde3819d86bb22fc",
     )
 
     maven_jar(
diff --git a/src/main/java/com/ericsson/gerrit/plugins/gcconductor/evaluator/EvaluatorExecutorProvider.java b/src/main/java/com/ericsson/gerrit/plugins/gcconductor/evaluator/EvaluatorExecutorProvider.java
index 7cf13af..67b6958 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/gcconductor/evaluator/EvaluatorExecutorProvider.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/gcconductor/evaluator/EvaluatorExecutorProvider.java
@@ -20,11 +20,11 @@
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 import com.google.inject.Singleton;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.ExecutorService;
 
 @Singleton
-class EvaluatorExecutorProvider implements Provider<ScheduledThreadPoolExecutor>, ShutdownListener {
-  private WorkQueue.Executor executor;
+class EvaluatorExecutorProvider implements Provider<ExecutorService>, ShutdownListener {
+  private ExecutorService executor;
 
   @Inject
   EvaluatorExecutorProvider(
@@ -35,12 +35,11 @@
   @Override
   public void onShutdown() {
     executor.shutdownNow();
-    executor.unregisterWorkQueue();
     executor = null;
   }
 
   @Override
-  public ScheduledThreadPoolExecutor get() {
+  public ExecutorService get() {
     return executor;
   }
 }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/gcconductor/evaluator/EvaluatorModule.java b/src/main/java/com/ericsson/gerrit/plugins/gcconductor/evaluator/EvaluatorModule.java
index 8ef2a6b..a421ebe 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/gcconductor/evaluator/EvaluatorModule.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/gcconductor/evaluator/EvaluatorModule.java
@@ -25,7 +25,7 @@
 import com.google.gerrit.server.git.validators.UploadValidationListener;
 import com.google.inject.Provides;
 import com.google.inject.internal.UniqueAnnotations;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.ExecutorService;
 import org.eclipse.jgit.transport.PostUploadHook;
 
 /** Configures bindings of the evaluator. */
@@ -35,7 +35,7 @@
     install(new CommonModule(EvaluatorConfig.class));
     listener().to(OnPluginLoadUnload.class);
 
-    bind(ScheduledThreadPoolExecutor.class)
+    bind(ExecutorService.class)
         .annotatedWith(EvaluatorExecutor.class)
         .toProvider(EvaluatorExecutorProvider.class);
     bind(ShutdownListener.class)
