diff --git a/src/fmpi_task.c b/src/fmpi_task.c
index 8d52fa13a41c95938c99fe6800d9318fa3b469ca..6ad919fd696529268d5e5b88b36964fd3b7c6444 100644
--- a/src/fmpi_task.c
+++ b/src/fmpi_task.c
@@ -137,6 +137,7 @@ int fmpi_task_run_sync(
     assert(task != NULL);
     const int err_id = task->func(ctx, &task->args);
     fmpi_futhark_sync(ctx->fut);
+    fmpi_futhark_check_error(ctx->fut, "task->func");
     if(task->args.out.type.derived == FMPI_TYPE_ARRAY) {
         void * out = fmpi_futhark_get_data_sync(
             ctx->fut, task->args.out_raw, task->args.out.start,