diff --git a/WORKSPACE b/WORKSPACE
index 7d2c341..32dc6a4 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "714a32382ebd02919007d3514513af4395768d80",
+    commit = "f1d3eefb78029298afe119b0d8b2a43de2b510f6",
     #local_path = "/home/<user>/projects/bazlets",
 )
 
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)
