diff --git a/arbor/execution_context.cpp b/arbor/execution_context.cpp
index 5436332961b8157541992d30ca9e4787d24ff036..0d7c967877bcb8d30b96cefe6e60786be2437ffd 100644
--- a/arbor/execution_context.cpp
+++ b/arbor/execution_context.cpp
@@ -36,7 +36,7 @@ context make_context(const proc_allocation& p) {
 
 #ifdef ARB_MPI_ENABLED
 template <>
-execution_context::execution_context<MPI_Comm>(const proc_allocation& resources, MPI_Comm comm):
+execution_context::execution_context(const proc_allocation& resources, MPI_Comm comm):
     distributed(make_mpi_context(comm)),
     thread_pool(std::make_shared<threading::task_system>(resources.num_threads)),
     gpu(resources.has_gpu()? std::make_shared<gpu_context>(resources.gpu_id)