diff --git a/tasks/main.yml b/tasks/main.yml
index 925aa6e49185b8cc7cdac853a89d4e361584259c..73cb870905212958cd119ef2797c67bed48ead93 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,21 +1,29 @@
 ---
 # file: roles/commonkeys/tasks/main.yml
 
-- name: "Reset all hosts"
-  include: reset.yml
-  with_items: '{{ groups.all }}'
-  loop_control:
-    loop_var: hostname
-  when: hostname != "localhost" and inventory_hostname != "localhost"
+- name: "Common Keys Role"
+  set_fact: role_commonkeys_started=true
+  tags: always
 
-- name: "Tunnel keys"
-  include: tunnel_keys.yml
+- block:
 
-- name: "User keys"
-  include: user_keys.yml
-  with_flattened:
-    - '{{ admins }}'
-    - '{{ jailusers }}'
-  loop_control:
-    loop_var: username
-  tags: 'Keys'
+  - name: "Reset all hosts"
+    include: reset.yml
+    with_items: '{{ groups.all }}'
+    loop_control:
+      loop_var: hostname
+    when: hostname != "localhost" and inventory_hostname != "localhost"
+
+  - name: "Tunnel keys"
+    include: tunnel_keys.yml
+
+  - name: "User keys"
+    include: user_keys.yml
+    with_flattened:
+      - '{{ admins }}'
+      - '{{ jailusers }}'
+    loop_control:
+      loop_var: username
+    tags: 'Keys'
+
+  when: '"commonkeys" not in excluded_roles'