diff --git a/ansible/roles/keystone/templates/crontab.j2 b/ansible/roles/keystone/templates/crontab.j2
index af16e114fd772c4e745fe9646c2f9071d450fe71..a2d28374325a8615503d63cdf5ed6917375d4610 100644
--- a/ansible/roles/keystone/templates/crontab.j2
+++ b/ansible/roles/keystone/templates/crontab.j2
@@ -1,3 +1,9 @@
+{# Cron uses a PATH of /usr/bin:/bin by default, which does not include the #}
+{# virtualenv in source images. #}
+{% if keystone_install_type == 'source' %}
+PATH=/var/lib/kolla/venv/bin:/usr/bin:/bin
+{% endif %}
+
 {% for cron_job in cron_jobs %}
 {{ cron_job['min'] }} {{ cron_job['hour'] }} * * {{ cron_job['day'] }} /usr/bin/fernet-rotate.sh
 {% endfor %}