diff --git a/Android.mk b/Android.mk
index 2a4087a..e68fd94 100644
--- a/Android.mk
+++ b/Android.mk
@@ -125,6 +125,11 @@
   LOCAL_CFLAGS += -DBOARD_HAS_MTD_CACHE
 endif
 
+ifdef BOARD_USES_BMLUTILS
+  LOCAL_CFLAGS += -DBOARD_USES_BMLUTILS
+  LOCAL_STATIC_LIBRARIES += libbmlutils
+endif
+
 # This binary is in the recovery ramdisk, which is otherwise a copy of root.
 # It gets copied there in config/Makefile.  LOCAL_MODULE_TAGS suppresses
 # a (redundant) copy of the binary in /system/bin for user builds.
@@ -132,12 +137,6 @@
 
 LOCAL_MODULE_TAGS := eng
 
-LOCAL_STATIC_LIBRARIES :=
-#ifeq ($(TARGET_RECOVERY_UI_LIB),)
-#  LOCAL_SRC_FILES += default_recovery_ui.c
-#else
-#  LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB)
-#endif
 LOCAL_SRC_FILES += default_recovery_ui.c
 LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image libmtdutils
 LOCAL_STATIC_LIBRARIES += libamend
diff --git a/nandroid.c b/nandroid.c
index 35ad641..6bf6e91 100644
--- a/nandroid.c
+++ b/nandroid.c
@@ -42,6 +42,14 @@
 #include "extendedcommands.h"
 #include "nandroid.h"
 
+#ifndef BOARD_USES_BMLUTILS
+int write_raw_image(const char* partition, const char* filename) {
+    char tmp[PATH_MAX];
+    sprintf(tmp, "flash_image boot %s", filename);
+    return __system(tmp);
+}
+#endif
+
 int print_and_error(char* message) {
     ui_print(message);
     return 1;
@@ -283,9 +291,9 @@
         ui_print("Erasing boot before restore...\n");
         if (0 != (ret = format_root_device("BOOT:")))
             return print_and_error("Error while formatting BOOT:!\n");
-        sprintf(tmp, "flash_image boot %s/boot.img", backup_path);
+        sprintf(tmp, "%s/boot.img", backup_path);
         ui_print("Restoring boot image...\n");
-        if (0 != (ret = __system(tmp))) {
+        if (0 != (ret = write_raw_image("boot", tmp))) {
             ui_print("Error while flashing boot image!");
             return ret;
         }
diff --git a/updater/Android.mk b/updater/Android.mk
index b0e5811..ff89f96 100644
--- a/updater/Android.mk
+++ b/updater/Android.mk
@@ -19,8 +19,8 @@
 LOCAL_SRC_FILES := $(updater_src_files)
 
 ifdef BOARD_USES_BMLUTILS
-	LOCAL_CFLAGS += -DBOARD_USES_BMLUTILS
-	LOCAL_STATIC_LIBRARIES += libbmlutils
+  LOCAL_CFLAGS += -DBOARD_USES_BMLUTILS
+  LOCAL_STATIC_LIBRARIES += libbmlutils
 endif
 
 LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UPDATER_LIBS) $(TARGET_RECOVERY_UPDATER_EXTRA_LIBS)
