diff --git a/roles/rke2/tasks/config_rke2.yml b/roles/rke2/tasks/config_rke2.yml
index e83789006e26b7e8a330fa42b078e29d90a8145e..9b96930e1797743a991317a8873230370b70ed3e 100644
--- a/roles/rke2/tasks/config_rke2.yml
+++ b/roles/rke2/tasks/config_rke2.yml
@@ -10,7 +10,7 @@
     add_host:
       name: "MASTER_HOST"
       token: "{{ slurped_token.content | b64decode | trim }}"
-    when: slurped_token is defined and 'master' in group_names
+    when: ('master' in group_names)
   - name: set token
     delegate_to: localhost
     set_fact:
diff --git a/roles/rke2/tasks/main.yml b/roles/rke2/tasks/main.yml
index aa24ecaea12db6b1a26bff22e86821e155116dc1..07e6f878ae85cbce4a0fe6c77419c5f45ce218f4 100644
--- a/roles/rke2/tasks/main.yml
+++ b/roles/rke2/tasks/main.yml
@@ -6,7 +6,7 @@
 - block:
   - include_tasks: setup_host.yml
   - include_tasks: install_rke2.yml
-  when: ( not rke2_installed.stat.exists and state != 'absent' ) or (upgrade and state != 'absent' )
+  when: state != 'absent' and (not rke2_installed.stat.exists or upgrade)
 
 - name: copy k8s yaml templates to master node
   include_tasks: templates.yml