diff --git a/src/xfel_calibrate/calibrate.py b/src/xfel_calibrate/calibrate.py
index 961d39a7e5660b956714b1ec90711462561c4f49..acb46ebea5fe274e42694940d56a40cd895938b8 100755
--- a/src/xfel_calibrate/calibrate.py
+++ b/src/xfel_calibrate/calibrate.py
@@ -609,7 +609,9 @@ def run(argv=None):
     run_uuid = f"t{datetime.now().strftime('%y%m%d_%H%M%S')}"
 
     # check if concurrency parameter is given and we run concurrently
-    if not any(p.name == "parameter" for p in nb_details.default_params) and concurrency_par is not None:
+    if concurrency_par is not None and not any(
+            p.name == concurrency_par for p in nb_details.default_params
+    ):
         msg = f"Notebook cannot be run concurrently: no {concurrency_par} parameter"
         warnings.warn(msg, RuntimeWarning)
 
@@ -764,6 +766,11 @@ def run(argv=None):
                 cvals = f(*callargs)
                 print(f"Split concurrency into {cvals}")
 
+        if cvals is None:
+            raise ValueError(
+                f"No values found for {concurrency_par} (concurrency parameter)"
+            )
+
         # get expected type
         cvtype = get_par_attr(parms, concurrency_par, 'type', list)
         cvals = remove_duplications(cvals)