diff --git a/blackfin_config.mk b/blackfin_config.mk
index c8be75e08ec0a0c143a08bf3a50f906ccecd9567..7bde449263497c0ffc378e0e7e76c89794e674c6 100644
--- a/blackfin_config.mk
+++ b/blackfin_config.mk
@@ -33,7 +33,11 @@ endif
 
 SYM_PREFIX = _
 
+LDR_FLAGS += --bmode $(subst BFIN_BOOT_,,$(CONFIG_BFIN_BOOT_MODE))
 LDR_FLAGS += --use-vmas
+ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
+LDR_FLAGS += --initcode $(obj)cpu/$(CPU)/initcode.o
+endif
 ifneq (,$(findstring s,$(MAKEFLAGS)))
 LDR_FLAGS += --quiet
 endif