diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index d6f7eb34a0..fcfb821fe8 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -283,10 +283,6 @@ parameters:
     description: Keystone key for signing tokens.
     type: string
     hidden: true
-  BootstrapNodeResource:
-    default: controller0
-    description: Name of the bootstrap controller resource
-    type: string
 resources:
   ControlVirtualIP:
     type: OS::Neutron::Port
@@ -364,7 +360,18 @@ resources:
           public_interface_ip:
             get_param: NeutronPublicInterfaceIP
         bootstrap_host:
-          bootstrap_nodeid: {get_attr: [{get_param: BootstrapNodeResource}, show, name]}
+          bootstrap_nodeid:
+            Fn::Select:
+            - 0
+            - Fn::Select:
+              - 0
+              - Merge::Map:
+                  controller0:
+                  - Fn::Select:
+                    - name
+                    - get_attr:
+                      - controller0
+                      - show
           nodeid: {get_input: bootstack_nodeid}
         cinder:
           db: mysql://cinder:unset@localhost/cinder
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index a3bba63d90..ef8d7cd432 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -198,7 +198,18 @@ resources:
         admin-token:
           get_param: AdminToken
         bootstrap_host:
-          bootstrap_nodeid: {get_attr: [undercloud, show, name]}
+          bootstrap_nodeid:
+            Fn::Select:
+            - 0
+            - Fn::Select:
+              - 0
+              - Merge::Map:
+                  undercloud:
+                  - Fn::Select:
+                    - name
+                    - get_attr:
+                      - undercloud
+                      - show
           nodeid: {get_input: bootstack_nodeid}
         bootstack:
           public_interface_ip: