diff --git a/roles/archwiki/tasks/main.yml b/roles/archwiki/tasks/main.yml
index 4d25d14e08d4130e9c807665d0ec3cb64e7ce8d7..7ab910b99a2e0063a5e99d2cc2414c6e3621d9a2 100644
--- a/roles/archwiki/tasks/main.yml
+++ b/roles/archwiki/tasks/main.yml
@@ -107,6 +107,7 @@
     - archwiki-prune-cache.service
     - archwiki-prune-cache.timer
     - archwiki-question-updater.service
+    - archwiki-question-updater.timer
 
 - name: Start and enable archwiki timers and services
   systemd:
@@ -118,6 +119,7 @@
     - archwiki-runjobs.timer
     - archwiki-prune-cache.timer
     - archwiki-runjobs-wait.service
+    - archwiki-question-updater.timer
 
 - name: Create question answer file
   systemd:
@@ -127,9 +129,3 @@
 
 - name: Ensure question answer file exists and set permissions
   file: state=file path="{{ archwiki_question_answer_file }}" owner=root group=root mode=0644
-
-- name: Create pacman.d hooks dir
-  file: state=directory owner=root group=root mode=0755 path=/etc/pacman.d/hooks
-
-- name: Install archwiki question updater hook
-  template: src=archwiki-question-updater.hook.j2 dest=/etc/pacman.d/hooks/archwiki-question-updater.hook owner=root group=root mode=0644
diff --git a/roles/archwiki/templates/LocalSettings.php.j2 b/roles/archwiki/templates/LocalSettings.php.j2
index bd3edbdff37e77c5ba5a34409c69ccca6e1b9cca..49a3f58c4c6df53970910d4b23e0fccfc018669d 100644
--- a/roles/archwiki/templates/LocalSettings.php.j2
+++ b/roles/archwiki/templates/LocalSettings.php.j2
@@ -421,7 +421,7 @@ $wgCaptchaTriggers['addurl'] = false;
 $wgCaptchaTriggers['createaccount'] = true;
 $wgCaptchaTriggers['badlogin'] = true;
 $wgCaptchaQuestions = [
-    'What is the output of: <code>pacman -V|base32|head -1</code>' => trim(file_get_contents("{{ archwiki_question_answer_file }}"))
+    'What is the output of: <code>LC_ALL=C pacman -V|sed -r "s#[0-9]+#$(date -u +%m)#g"|base32|head -1</code>' => trim(file_get_contents("{{ archwiki_question_answer_file }}"))
 ];
 
 # Restrict expensive actions to logged in users
diff --git a/roles/archwiki/templates/archwiki-question-updater.hook.j2 b/roles/archwiki/templates/archwiki-question-updater.hook.j2
deleted file mode 100644
index 43c6017ef2629d5c273510599695bbd982a1d1a8..0000000000000000000000000000000000000000
--- a/roles/archwiki/templates/archwiki-question-updater.hook.j2
+++ /dev/null
@@ -1,9 +0,0 @@
-[Trigger]
-Operation = Install
-Operation = Upgrade
-Type = Package
-Target = pacman
-
-[Action]
-When = PostTransaction
-Exec = /usr/bin/systemctl start archwiki-question-updater.service
diff --git a/roles/archwiki/templates/archwiki-question-updater.service.j2 b/roles/archwiki/templates/archwiki-question-updater.service.j2
index 093f10dc3b34d1b5e1f7302e555a6db8d5fe5626..8b0eae342e512cf8cc458e46eda4beccc343c198 100644
--- a/roles/archwiki/templates/archwiki-question-updater.service.j2
+++ b/roles/archwiki/templates/archwiki-question-updater.service.j2
@@ -3,4 +3,5 @@ Description=Update Archwiki pacman question answer
 
 [Service]
 Type=oneshot
-ExecStart=/bin/bash -c 'pacman -V|base32|head -1 > "{{archwiki_question_answer_file}}"'
+# %% is needed here to escape systemd's own templating
+ExecStart=/bin/bash -c 'LC_ALL=C pacman -V|sed -r "s#[0-9]+#$(date -u +%%m)#g"|base32|head -1 > "{{archwiki_question_answer_file}}"'
diff --git a/roles/archwiki/templates/archwiki-question-updater.timer.j2 b/roles/archwiki/templates/archwiki-question-updater.timer.j2
new file mode 100644
index 0000000000000000000000000000000000000000..4933f35cd3a57c27ea2fd51ae3ea7e48f2d57d1f
--- /dev/null
+++ b/roles/archwiki/templates/archwiki-question-updater.timer.j2
@@ -0,0 +1,9 @@
+[Unit]
+Description=Monthly Timer to update the Archwiki pacman question
+
+[Timer]
+OnCalendar=*-*-1 00:00:00
+Persistent=true
+
+[Install]
+WantedBy=timers.target