diff --git a/group_vars/all.yml.sample b/group_vars/all.yml.sample
index 664ec12e8e..069a6e7b41 100644
--- a/group_vars/all.yml.sample
+++ b/group_vars/all.yml.sample
@@ -56,6 +56,18 @@ dummy:
 #mgr_group_name: mgrs
 #rgwloadbalancer_group_name: rgwloadbalancers
 #grafana_server_group_name: grafana-server
+#adopt_label_group_names:
+#  - "{{ mon_group_name }}"
+#  - "{{ osd_group_name }}"
+#  - "{{ rgw_group_name }}"
+#  - "{{ mds_group_name }}"
+#  - "{{ nfs_group_name }}"
+#  - "{{ rbdmirror_group_name }}"
+#  - "{{ client_group_name }}"
+#  - "{{ iscsi_gw_group_name }}"
+#  - "{{ mgr_group_name }}"
+#  - "{{ rgwloadbalancer_group_name }}"
+#  - "{{ grafana_server_group_name }}"
 
 # If configure_firewall is true, then ansible will try to configure the
 # appropriate firewalling rules so that Ceph daemons can communicate
diff --git a/group_vars/rhcs.yml.sample b/group_vars/rhcs.yml.sample
index b8715d96bc..a9ac470eae 100644
--- a/group_vars/rhcs.yml.sample
+++ b/group_vars/rhcs.yml.sample
@@ -56,6 +56,18 @@ dummy:
 #mgr_group_name: mgrs
 #rgwloadbalancer_group_name: rgwloadbalancers
 #grafana_server_group_name: grafana-server
+#adopt_label_group_names:
+#  - "{{ mon_group_name }}"
+#  - "{{ osd_group_name }}"
+#  - "{{ rgw_group_name }}"
+#  - "{{ mds_group_name }}"
+#  - "{{ nfs_group_name }}"
+#  - "{{ rbdmirror_group_name }}"
+#  - "{{ client_group_name }}"
+#  - "{{ iscsi_gw_group_name }}"
+#  - "{{ mgr_group_name }}"
+#  - "{{ rgwloadbalancer_group_name }}"
+#  - "{{ grafana_server_group_name }}"
 
 # If configure_firewall is true, then ansible will try to configure the
 # appropriate firewalling rules so that Ceph daemons can communicate
diff --git a/infrastructure-playbooks/cephadm-adopt.yml b/infrastructure-playbooks/cephadm-adopt.yml
index 0ded7c6e01..6a8d183502 100644
--- a/infrastructure-playbooks/cephadm-adopt.yml
+++ b/infrastructure-playbooks/cephadm-adopt.yml
@@ -325,13 +325,13 @@
       when: is_hci | bool
 
     - name: manage nodes with cephadm - ipv4
-      command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv4_addresses'] | ips_in_ranges(cephadm_mgmt_network.split(',')) | first }} {{ group_names | join(' ') }}"
+      command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv4_addresses'] | ips_in_ranges(cephadm_mgmt_network.split(',')) | first }} {{ group_names | intersect(adopt_label_group_names) | join(' ') }}"
       changed_when: false
       delegate_to: '{{ groups[mon_group_name][0] }}'
       when: ip_version == 'ipv4'
 
     - name: manage nodes with cephadm - ipv6
-      command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv6_addresses'] | ips_in_ranges(cephadm_mgmt_network.split(',')) | last | ipwrap }} {{ group_names | join(' ') }}"
+      command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv6_addresses'] | ips_in_ranges(cephadm_mgmt_network.split(',')) | last | ipwrap }} {{ group_names | intersect(adopt_label_group_names) | join(' ') }}"
       changed_when: false
       delegate_to: '{{ groups[mon_group_name][0] }}'
       when: ip_version == 'ipv6'
diff --git a/roles/ceph-defaults/defaults/main.yml b/roles/ceph-defaults/defaults/main.yml
index 9488374aaa..d9b444017b 100644
--- a/roles/ceph-defaults/defaults/main.yml
+++ b/roles/ceph-defaults/defaults/main.yml
@@ -48,6 +48,18 @@ iscsi_gw_group_name: iscsigws
 mgr_group_name: mgrs
 rgwloadbalancer_group_name: rgwloadbalancers
 grafana_server_group_name: grafana-server
+adopt_label_group_names:
+  - "{{ mon_group_name }}"
+  - "{{ osd_group_name }}"
+  - "{{ rgw_group_name }}"
+  - "{{ mds_group_name }}"
+  - "{{ nfs_group_name }}"
+  - "{{ rbdmirror_group_name }}"
+  - "{{ client_group_name }}"
+  - "{{ iscsi_gw_group_name }}"
+  - "{{ mgr_group_name }}"
+  - "{{ rgwloadbalancer_group_name }}"
+  - "{{ grafana_server_group_name }}"
 
 # If configure_firewall is true, then ansible will try to configure the
 # appropriate firewalling rules so that Ceph daemons can communicate