diff --git a/flashutils/flashutils.c b/flashutils/flashutils.c
index b71d4fa..0b1467e 100644
--- a/flashutils/flashutils.c
+++ b/flashutils/flashutils.c
@@ -69,9 +69,21 @@
     return (pid == -1 ? -1 : pstat);
 }
 
-int restore_raw_partition(const char *partition, const char *filename)
+static int detect_partition(const char *partition)
 {
     int type = device_flash_type();
+    if (strstr(partition, "/dev/block/mtd") != NULL)
+        type = MTD;
+    else if (strstr(partition, "/dev/block/mmc") != NULL)
+        type = MMC;
+    else if (strstr(partition, "/dev/block/bml") != NULL)
+        type = BML;
+        
+    return type;
+}
+int restore_raw_partition(const char *partition, const char *filename)
+{
+    int type = detect_partition(partition);
     switch (type) {
         case MTD:
             return cmd_mtd_restore_raw_partition(partition, filename);
@@ -86,7 +98,7 @@
 
 int backup_raw_partition(const char *partition, const char *filename)
 {
-    int type = device_flash_type();
+    int type = detect_partition(partition);
     switch (type) {
         case MTD:
             return cmd_mtd_backup_raw_partition(partition, filename);
@@ -101,7 +113,7 @@
 
 int erase_raw_partition(const char *partition)
 {
-    int type = device_flash_type();
+    int type = detect_partition(partition);
     switch (type) {
         case MTD:
             return cmd_mtd_erase_raw_partition(partition);
@@ -116,7 +128,7 @@
 
 int erase_partition(const char *partition, const char *filesystem)
 {
-    int type = device_flash_type();
+    int type = detect_partition(partition);
     switch (type) {
         case MTD:
             return cmd_mtd_erase_partition(partition, filesystem);
@@ -131,7 +143,7 @@
 
 int mount_partition(const char *partition, const char *mount_point, const char *filesystem, int read_only)
 {
-    int type = device_flash_type();
+    int type = detect_partition(partition);
     switch (type) {
         case MTD:
             return cmd_mtd_mount_partition(partition, mount_point, filesystem, read_only);
