diff --git a/group_vars/all/vars.yaml b/group_vars/all/vars.yaml
index b1ef1c5a9e85508a202fbd2a060dcbbd4f00f1a1..edc8efa2d3af8a39d1936474bd69d5a73f423abc 100644
--- a/group_vars/all/vars.yaml
+++ b/group_vars/all/vars.yaml
@@ -1,15 +1,19 @@
 ---
 
 # Custom header
-dirty: "{{lookup('pipe', 'git diff --quiet || echo dirty')}}"
+dirty: "{% if template_path is defined %}{{ lookup('pipe', 'git diff --quiet -- ' + template_path | quote + ' || echo dirty') }}{% else %}{{ lookup('pipe', 'git diff --quiet || echo dirty') }}{% endif %}"
 ansible_header: |
     +++++++++++++++++++++++++++++++++++++++++++++++++++
 
        Ansible managed, don't modify the file locally.
        See https://gitlab.crans.org/nounous/ansible.
+       {% if template_path is defined %}{% set _, rpath = template_path.split('roles/', 1) %}Commit: {% if dirty %}({{dirty}}) {% endif %}{{ lookup('pipe', 'git log -n 1 --pretty=format:%H -- ' + template_path | quote) }}
+       {% if dirty %}Run by: {{ ansible_env.SUDO_USER }}
+       {% else %}Author: {{ lookup('pipe', 'git log -n 1 --pretty=format:%an -- ' + template_path | quote) }}
+       {% endif %}Template: roles/{{ rpath }}
+       {% else %}
        Run by: {{ ansible_env.SUDO_USER }}
        Latest commit: {% if dirty %}({{dirty}}) {% endif %}{{ lookup('pipe', 'git rev-parse HEAD') }}
-       {% if template_path is defined %}{% set _, rpath = template_path.split('roles/') %}Template: roles/{{ rpath }}
        {% endif %}
 
     +++++++++++++++++++++++++++++++++++++++++++++++++++