diff --git a/tasks/checks.yml b/tasks/checks.yml
index 7cb805c3c5c141ba26ca3ec3a9cc29962ae50e59..de667a7f196de13e6cda5ae02fbfb80cd0dd2e94 100644
--- a/tasks/checks.yml
+++ b/tasks/checks.yml
@@ -89,7 +89,9 @@
         - name: Generate an array of PHP versions to remove
           set_fact:
             php_versions_remove: "{{ php_versions_existing | difference(php_versions_proposed) }}"
-          when: ( php_versions_existing | difference(php_versions_proposed) ) != []
+          when:
+            - ( php_versions_existing is defined ) and ( php_versions_existing != [] )
+            - ( php_versions_proposed is defined ) and ( php_versions_proposed != [] )
 
         - name: Checks for PHP versions due to be removed
           block: