diff --git a/src/arch/arm64/Makefile.inc b/src/arch/arm64/Makefile.inc
index ece35a6..6e3f080 100644
--- a/src/arch/arm64/Makefile.inc
+++ b/src/arch/arm64/Makefile.inc
@@ -178,7 +178,7 @@
 
 BL31_CBFS := $(CONFIG_CBFS_PREFIX)/bl31
 $(BL31_CBFS)-file := $(BL31)
-$(BL31_CBFS)-type := stage
+$(BL31_CBFS)-type := payload
 $(BL31_CBFS)-compression := $(CBFS_COMPRESS_FLAG)
 cbfs-files-y += $(BL31_CBFS)
 
diff --git a/src/arch/arm64/arm_tf.c b/src/arch/arm64/arm_tf.c
index 1ec87c4..e976e34 100644
--- a/src/arch/arm64/arm_tf.c
+++ b/src/arch/arm64/arm_tf.c
@@ -50,11 +50,10 @@
 	if (prog_locate(&bl31))
 		die("BL31 not found");
 
-	if (cbfs_prog_stage_load(&bl31))
+	bl31_entry = selfload(&bl31, false);
+	if (!bl31_entry)
 		die("BL31 load failed");
 
-	bl31_entry = prog_entry(&bl31);
-
 	SET_PARAM_HEAD(&bl31_params, PARAM_BL31, VERSION_1, 0);
 
 	if (IS_ENABLED(CONFIG_ARM64_USE_SECURE_OS)) {
diff --git a/src/include/program_loading.h b/src/include/program_loading.h
index e265b18..3958fda 100644
--- a/src/include/program_loading.h
+++ b/src/include/program_loading.h
@@ -189,7 +189,13 @@
 /* Mirror the payload to be loaded. */
 void mirror_payload(struct prog *payload);
 
-/* Defined in src/lib/selfboot.c */
-void *selfload(struct prog *payload);
+/*
+ * Set check_regions to true to check that the payload targets usable memory.
+ * With this flag set, if it does not, the load will fail and this function
+ * will return NULL.
+ *
+ * Defined in src/lib/selfboot.c
+ */
+void *selfload(struct prog *payload, bool check_regions);
 
 #endif /* PROGRAM_LOADING_H */
diff --git a/src/lib/prog_loaders.c b/src/lib/prog_loaders.c
index ecbc679..c0dcd60 100644
--- a/src/lib/prog_loaders.c
+++ b/src/lib/prog_loaders.c
@@ -161,7 +161,7 @@
 	mirror_payload(payload);
 
 	/* Pass cbtables to payload if architecture desires it. */
-	prog_set_entry(payload, selfload(payload),
+	prog_set_entry(payload, selfload(payload, true),
 			cbmem_find(CBMEM_ID_CBTABLE));
 
 out:
diff --git a/src/lib/selfboot.c b/src/lib/selfboot.c
index 1ce7f94..162a034 100644
--- a/src/lib/selfboot.c
+++ b/src/lib/selfboot.c
@@ -88,7 +88,8 @@
 	/* When the ramstage is relocatable there is no need for a bounce
 	 * buffer. All payloads should not overlap the ramstage.
 	 */
-	if (IS_ENABLED(CONFIG_RELOCATABLE_RAMSTAGE)) {
+	if (IS_ENABLED(CONFIG_RELOCATABLE_RAMSTAGE) ||
+	    !arch_supports_bounce_buffer()) {
 		bounce_buffer = ~0UL;
 		bounce_size = 0;
 		return;
@@ -357,15 +358,16 @@
 	return 1;
 }
 
-static int load_self_segments(
-	struct segment *head,
-	struct prog *payload)
+static int load_self_segments(struct segment *head, struct prog *payload,
+			      bool check_regions)
 {
 	struct segment *ptr;
 	unsigned long bounce_high = lb_end;
 
-	if (!payload_targets_usable_ram(head))
-		return 0;
+	if (check_regions) {
+		if (!payload_targets_usable_ram(head))
+			return 0;
+	}
 
 	for(ptr = head->next; ptr != head; ptr = ptr->next) {
 		/*
@@ -373,8 +375,10 @@
 		 * allocated so that there aren't conflicts with the actual
 		 * payload.
 		 */
-		bootmem_add_range(ptr->s_dstaddr, ptr->s_memsz,
-					LB_MEM_UNUSABLE);
+		if (check_regions) {
+			bootmem_add_range(ptr->s_dstaddr, ptr->s_memsz,
+					  LB_MEM_UNUSABLE);
+		}
 
 		if (!overlaps_coreboot(ptr))
 			continue;
@@ -486,7 +490,7 @@
 	return 1;
 }
 
-void *selfload(struct prog *payload)
+void *selfload(struct prog *payload, bool check_regions)
 {
 	uintptr_t entry = 0;
 	struct segment head;
@@ -502,7 +506,7 @@
 		goto out;
 
 	/* Load the segments */
-	if (!load_self_segments(&head, payload))
+	if (!load_self_segments(&head, payload, check_regions))
 		goto out;
 
 	printk(BIOS_SPEW, "Loaded segments\n");
