diff --git a/emper/strategies/laws/LawsScheduler.cpp b/emper/strategies/laws/LawsScheduler.cpp
index 994bc276780a71354f841a9399a542d6067b679f..bbccdb6f2f75ca83ae1e76ad5a6c7e5c63b81525 100644
--- a/emper/strategies/laws/LawsScheduler.cpp
+++ b/emper/strategies/laws/LawsScheduler.cpp
@@ -7,7 +7,7 @@
 
 #define EMPER_OVERFLOW_QUEUE
 
-thread_local adt::MpscQueue<Fiber> LawsScheduler::priorityQueue;
+thread_local LawsScheduler::LawsMpscQueue LawsScheduler::priorityQueue;
 
 thread_local LawsScheduler::WsQueue<LawsScheduler::QUEUE_SIZE> LawsScheduler::queue;
 
@@ -15,7 +15,7 @@ LawsScheduler::LawsScheduler(Runtime& runtime, LawsStrategy& lawsStrategy) : Sch
 																		   , lawsStrategy(lawsStrategy) {
 	const workerid_t workerCount = runtime.getWorkerCount();
 	queues = new LawsScheduler::WsQueue<QUEUE_SIZE>*[workerCount];
-	priorityQueues = new adt::MpscQueue<Fiber>*[workerCount];
+	priorityQueues = new LawsScheduler::LawsMpscQueue*[workerCount];
 	mainThreadQueue = &queue;
 
 	auto newWorkerHook = [this]() {
diff --git a/emper/strategies/laws/LawsScheduler.hpp b/emper/strategies/laws/LawsScheduler.hpp
index 39918d791861f77d9f952a2f3462f11c3d38ccea..f7ed1a4b8496c09370352e4fa2d21a9b674ce8d0 100644
--- a/emper/strategies/laws/LawsScheduler.hpp
+++ b/emper/strategies/laws/LawsScheduler.hpp
@@ -30,11 +30,11 @@ public:
 	static const int QUEUE_SIZE = 1024;
 
 private:
-	adt::MpscQueue<Fiber>** priorityQueues;
+	LawsMpscQueue** priorityQueues;
 
 	WsQueue<QUEUE_SIZE>** queues;
 
-	static thread_local adt::MpscQueue<Fiber> priorityQueue;
+	static thread_local LawsMpscQueue priorityQueue;
 
 	static thread_local LawsScheduler::WsQueue<QUEUE_SIZE> queue;