diff --git a/roles/ensure-dhall/tasks/main.yaml b/roles/ensure-dhall/tasks/main.yaml
index 07f4b1a5b..b81361bfa 100644
--- a/roles/ensure-dhall/tasks/main.yaml
+++ b/roles/ensure-dhall/tasks/main.yaml
@@ -31,3 +31,8 @@
   loop: "{{ dhall_versions[dhall_version] }}"
   loop_control:
     loop_var: zj_dhall_tool_item
+
+- name: Remove temp directory
+  file:
+    state: absent
+    path: '{{ dhall_archive_tempdir.path }}'
diff --git a/roles/ensure-package-repositories/tasks/RedHat.yaml b/roles/ensure-package-repositories/tasks/RedHat.yaml
index 659601ef3..3e8c5d9d1 100644
--- a/roles/ensure-package-repositories/tasks/RedHat.yaml
+++ b/roles/ensure-package-repositories/tasks/RedHat.yaml
@@ -24,6 +24,11 @@
     loop_var: zj_item
     index_var: zj_idx
 
+- name: Remove GPG temp directory
+  file:
+    state: absent
+    path: '{{ gpg_key_tempdir.path }}'
+
 - name: Add repositories
   yum_repository:
     name: "{{ zj_item['name'] }}"
diff --git a/roles/ensure-package-repositories/tasks/Suse.yaml b/roles/ensure-package-repositories/tasks/Suse.yaml
index 8f8abd21f..47bdac875 100644
--- a/roles/ensure-package-repositories/tasks/Suse.yaml
+++ b/roles/ensure-package-repositories/tasks/Suse.yaml
@@ -24,6 +24,11 @@
     loop_var: zj_item
     index_var: zj_idx
 
+- name: Remove GPG temp directory
+  file:
+    state: absent
+    path: '{{ gpg_key_tempdir.path }}'
+
 - name: Add repositories
   zypper_repository:
     name: "{{ zj_item['name'] }}"