diff --git a/.github/workflows/push_image_pr.yml b/.github/workflows/push_image_pr.yml
index 7b78f2a7c98d2d56ee732198d33fdf59922d5b43..4a0aa33778a3d7d89e319687241511529ff516f0 100644
--- a/.github/workflows/push_image_pr.yml
+++ b/.github/workflows/push_image_pr.yml
@@ -40,7 +40,7 @@ jobs:
       - name: build and push images
         run: IMAGE_ORG=${{ env.ORG }} IMAGE=${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ env.short_sha }} make images
       - name: build and push manifest
-        run: IMAGE_ORG=${{ env.ORG }} VERSION=${{ env.VERSION }} make ci-manifest
+        run: IMAGE_ORG=${{ env.ORG }} IMAGE=${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ env.VERSION }} make ci-manifest
       - uses: actions/github-script@v6
         with:
           github-token: ${{secrets.GITHUB_TOKEN}}
diff --git a/Makefile b/Makefile
index 2ef7fdcd06206fb09eaf64df2d4357303d7dcb75..38605bfe6b36f2d447a172afca2356083a036ca6 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@ IMAGE_SHA = $(IMAGE_TAG_BASE):$(BUILD_SHA)
 
 # Image building tool (docker / podman)
 OCI_BIN_PATH := $(shell which podman  || which docker)
-OCI_BIN ?= $(shell v='$(OCI_BIN_PATH)'; echo "$${v##*/}")
+OCI_BIN ?= $(shell basename ${OCI_BIN_PATH})
 
 LOCAL_GENERATOR_IMAGE ?= ebpf-generator:latest
 CILIUM_EBPF_VERSION := v0.10.0
@@ -58,6 +58,12 @@ define push_target
 	DOCKER_BUILDKIT=1 $(OCI_BIN) push ${IMAGE}-$(1);
 endef
 
+# manifest create a single arch target provided as argument
+define manifest_create_target
+	echo 'manifest create for arch $(1)'; \
+	DOCKER_BUILDKIT=1 $(OCI_BIN) manifest add ${IMAGE} ${IMAGE}-$(target);
+endef
+
 ##@ General
 
 # The help target prints out all targets with their descriptions organized
@@ -169,8 +175,9 @@ image-push: ## Push MULTIARCH_TARGETS images
 
 .PHONY: manifest-build
 manifest-build: ## Build MULTIARCH_TARGETS manifest
-	@echo 'building manifest $(IMAGE)'
-	DOCKER_BUILDKIT=1 $(OCI_BIN) manifest create ${IMAGE} $(foreach target,$(MULTIARCH_TARGETS),--amend ${IMAGE}-$(target));
+	trap 'exit' INT; \
+	DOCKER_BUILDKIT=1 $(OCI_BIN) manifest create ${IMAGE}
+	$(foreach target,$(MULTIARCH_TARGETS),$(call manifest_create_target,$(target)))
 
 .PHONY: manifest-push
 manifest-push: ## Push MULTIARCH_TARGETS manifest