diff --git a/roles/rke2/tasks/config_rke2.yml b/roles/rke2/tasks/config_rke2.yml
index 29f858aac05f5f44db08f7eff83d5a6016447840..e83789006e26b7e8a330fa42b078e29d90a8145e 100644
--- a/roles/rke2/tasks/config_rke2.yml
+++ b/roles/rke2/tasks/config_rke2.yml
@@ -5,16 +5,17 @@
       src: "/var/lib/rancher/rke2/server/node-token"
     register: slurped_token
     ignore_errors: true
+    when: ('master' in group_names)
   - name: Decode token and store as fact at dummy master_host with host variable
     add_host:
       name: "MASTER_HOST"
       token: "{{ slurped_token.content | b64decode | trim }}"
-    when: slurped_token is defined
+    when: slurped_token is defined and 'master' in group_names
   - name: set token
     delegate_to: localhost
     set_fact:
       token: "{{ hostvars['MASTER_HOST']['token'].split('server:')[1] }}"
-    when: slurped_token is defined
+    when: slurped_token is defined and 'master' in group_names
 
 - name: create token
   delegate_to: localhost