diff --git a/lib/galaxy/tools/actions/__init__.py b/lib/galaxy/tools/actions/__init__.py
index d622df5324d..9080b4fa798 100644
--- a/lib/galaxy/tools/actions/__init__.py
+++ b/lib/galaxy/tools/actions/__init__.py
@@ -675,12 +675,13 @@ class DefaultToolAction:
return remapped_hdas
def __remap_parameters(self, job_to_remap, jtid, jtod, out_data):
- input_values = {p.name: json.loads(p.value) for p in job_to_remap.parameters}
+ input_values = {p.name: json.loads(p.value) for p in job_to_remap.parameters if p.value is not None}
old_dataset_id = jtod.dataset_id
new_dataset_id = out_data[jtod.name].id
input_values = update_dataset_ids(input_values, {old_dataset_id: new_dataset_id}, src='hda')
for p in job_to_remap.parameters:
- p.value = json.dumps(input_values[p.name])
+ if p.name in input_values:
+ p.value = json.dumps(input_values[p.name])
jtid.dataset = out_data[jtod.name]
jtid.dataset.hid = jtod.dataset.hid
log.info(f'Job {job_to_remap.id} input HDA {jtod.dataset.id} remapped to new HDA {jtid.dataset.id}')
diff --git a/lib/galaxy_test/api/test_workflows.py b/lib/galaxy_test/api/test_workflows.py
index ae0b636aecf..6f26a060ca4 100644
--- a/lib/galaxy_test/api/test_workflows.py
+++ b/lib/galaxy_test/api/test_workflows.py
@@ -967,6 +967,7 @@ steps:
cond_param_inner: true
input1:
$link: 0/out_file1
+ thedata: null
cat:
tool_id: cat1
in:
diff --git a/test/functional/tools/identifier_multiple_in_conditional.xml b/test/functional/tools/identifier_multiple_in_conditional.xml
index 81d12fd99fa..8bff2256f0b 100644
--- a/test/functional/tools/identifier_multiple_in_conditional.xml
+++ b/test/functional/tools/identifier_multiple_in_conditional.xml
@@ -16,6 +16,7 @@
+