diff --git a/roles/download/tasks/prep_download.yml b/roles/download/tasks/prep_download.yml
index 6c62c5d144319683dbaa81ab124dc29b061ae1d4..73d72cf25933eb2ca6c704bfd1a1c87100a6a360 100644
--- a/roles/download/tasks/prep_download.yml
+++ b/roles/download/tasks/prep_download.yml
@@ -13,11 +13,17 @@
     image_info_command: "{{ docker_bin_dir }}/docker images -q | xargs -i {{ '{{' }} docker_bin_dir }}/docker inspect -f {% raw %}'{{ '{{' }} if .RepoTags }}{{ '{{' }} join .RepoTags \",\" }}{{ '{{' }} end }}{{ '{{' }} if .RepoDigests }},{{ '{{' }} join .RepoDigests \",\" }}{{ '{{' }} end }}' {% endraw %} {} | tr '\n' ','"
   when: container_manager == 'docker'
 
-- name: prep_download | Set image pull/info command for containerd and crio
+- name: prep_download | Set image pull/info command for containerd
+  set_fact:
+    image_info_command: "{{ bin_dir }}/ctr -n k8s.io images ls | awk '/application/ {print $1}' | grep -v ^sha | tr '\n' ','"
+    image_pull_command: "{{ bin_dir }}/ctr -n k8s.io images pull --platform linux/{{ image_arch }}"
+  when: container_manager == 'containerd'
+
+- name: prep_download | Set image pull/info command for crio
   set_fact:
     image_info_command: "{{ bin_dir }}/crictl images --verbose | awk -F ': ' '/RepoTags|RepoDigests/ {print $2}' | tr '\n' ','"
     image_pull_command: "{{ bin_dir }}/crictl pull"
-  when: container_manager in ['crio' ,'containerd']
+  when: container_manager == 'crio'
 
 - name: prep_download | Set image pull/info command for docker on localhost
   set_fact:
@@ -25,11 +31,17 @@
     image_info_command_on_localhost: "{{ docker_bin_dir }}/docker images"
   when: container_manager_on_localhost == 'docker'
 
-- name: prep_download | Set image pull/info command for containerd and crio on localhost
+- name: prep_download | Set image pull/info command for containerd on localhost
+  set_fact:
+    image_info_command_on_localhost: "{{ bin_dir }}/ctr -n k8s.io images ls | awk '/application/ {print $1}' | grep -v ^sha | tr '\n' ','"
+    image_pull_command_on_localhost: "{{ bin_dir }}/ctr -n k8s.io images pull --platform linux/{{ image_arch }}"
+  when: container_manager_on_localhost == 'containerd'
+
+- name: prep_download | Set image pull/info command for crio on localhost
   set_fact:
     image_info_command_on_localhost: "{{ bin_dir }}/crictl images --verbose | awk -F ': ' '/RepoTags|RepoDigests/ {print $2}' | tr '\n' ','"
     image_pull_command_on_localhost: "{{ bin_dir }}/crictl pull"
-  when: container_manager_on_localhost in ['crio' ,'containerd']
+  when: container_manager_on_localhost == 'crio'
 
 - name: prep_download | On localhost, check if passwordless root is possible
   command: "true"
diff --git a/roles/download/tasks/set_container_facts.yml b/roles/download/tasks/set_container_facts.yml
index 2b664022996b7d8a21066982b17ce1075a077f23..20c1783004a583d4f63d668fc55d6df1e5a81576 100644
--- a/roles/download/tasks/set_container_facts.yml
+++ b/roles/download/tasks/set_container_facts.yml
@@ -29,7 +29,7 @@
 
 - name: Set image save/load command for containerd
   set_fact:
-    image_save_command: "{{ containerd_bin_dir }}/ctr -n k8s.io image export {{ image_path_final }} {{ image_reponame }}"
+    image_save_command: "{{ containerd_bin_dir }}/ctr -n k8s.io image export --platform linux/{{ image_arch }} {{ image_path_final }} {{ image_reponame }}"
     image_load_command: "{{ containerd_bin_dir }}/ctr -n k8s.io image import --base-name {{ download.repo }} {{ image_path_final }}"
   when: container_manager == 'containerd'
 
@@ -46,7 +46,7 @@
 
 - name: Set image save/load command for containerd on localhost
   set_fact:
-    image_save_command_on_localhost: "{{ containerd_bin_dir }}/ctr -n k8s.io image export {{ image_path_cached }} {{ image_reponame }}"
+    image_save_command_on_localhost: "{{ containerd_bin_dir }}/ctr -n k8s.io image export --platform linux/{{ image_arch }} {{ image_path_cached }} {{ image_reponame }}"
   when: container_manager_on_localhost == 'containerd'
 
 - name: Set image save/load command for crio on localhost