diff --git a/main.yaml b/main.yaml
index 46544910..d8884bd7 100644
--- a/main.yaml
+++ b/main.yaml
@@ -3,7 +3,7 @@
   tasks:
     - name: Set roles
       ansible.builtin.set_fact:
-        roles: "{{ default_roles | difference(exclude_roles | default([])) }}"
+        roles: "{{ ansible_run_tags != ['all'] and ansible_run_tags or default_roles | difference(exclude_roles | default([])) }}"
       tags:
         - always