diff --git a/client/galaxy/scripts/components/RuleCollectionBuilder.vue b/client/galaxy/scripts/components/RuleCollectionBuilder.vue
index 05e0b78588d..20ed986b487 100644
--- a/client/galaxy/scripts/components/RuleCollectionBuilder.vue
+++ b/client/galaxy/scripts/components/RuleCollectionBuilder.vue
@@ -189,8 +189,8 @@
-
+
@@ -1490,7 +1490,10 @@ export default {
identifierColumnIndex < numIdentifierColumns;
identifierColumnIndex++
) {
- let identifier = rowData[identifierColumns[identifierColumnIndex]];
+ // typeof indicates identifier is a string, but the raw string value coming from this data
+ // structure sometimes does not work as expected with indexOf below, I don't understand why
+ // but as a result this cast here seems needed.
+ let identifier = String(rowData[identifierColumns[identifierColumnIndex]]);
if (identifierColumnIndex + 1 == numIdentifierColumns) {
// At correct final position in nested structure for this dataset.
if (collectionTypeAtDepth === "paired") {