diff --git a/releasenotes/notes/fix-update-roles-workflow-with-custom-overcloud-names-35404ceae3ac380e.yaml b/releasenotes/notes/fix-update-roles-workflow-with-custom-overcloud-names-35404ceae3ac380e.yaml
new file mode 100644
index 000000000..71bde81a8
--- /dev/null
+++ b/releasenotes/notes/fix-update-roles-workflow-with-custom-overcloud-names-35404ceae3ac380e.yaml
@@ -0,0 +1,7 @@
+---
+fixes:
+  - |
+    The tripleo.plan_management.v1.update_roles workflow didn't pass the plan
+    name (container name) or Zaqar queue name to the sub-workflow it triggered.
+    This caused the behaviour to be incorrect when using a name other than the
+    default. It now correctly passes on these parameters.
diff --git a/workbooks/plan_management.yaml b/workbooks/plan_management.yaml
index 4fa0b94a8..5190c3c69 100644
--- a/workbooks/plan_management.yaml
+++ b/workbooks/plan_management.yaml
@@ -1071,6 +1071,7 @@ workflows:
     description: Internal workflow for validating a network exists from a role
 
     input:
+      - container: overcloud
       - defined_networks
       - networks_in_roles
       - queue_name: tripleo
@@ -1153,6 +1154,7 @@ workflows:
       validate_roles_and_networks:
         workflow: _validate_networks_from_roles
         input:
+          container: <% $.container %>
           defined_networks: <% $.network_data.name %>
           networks_in_roles: <% $.networks_in_roles %>
           queue_name: <% $.queue_name %>
@@ -1256,6 +1258,9 @@ workflows:
     tasks:
       get_available_roles:
         workflow: list_available_roles
+        input:
+          container: <% $.container %>
+          queue_name: <% $.queue_name%>
         publish:
           available_roles: <% task().result.available_roles %>
         on-success: validate_input