diff --git a/extendedcommands.c b/extendedcommands.c
index bafa552..6799b2d 100644
--- a/extendedcommands.c
+++ b/extendedcommands.c
@@ -423,7 +423,7 @@
     LOGI("Formatting unknown device.\n");
 
     // device may simply be a name, like "system"
-    if (device[0] != '/')
+    if (get_flash_type(fs_type) != UNSUPPORTED)
         return erase_raw_partition(fs_type, device);
 
     // if this is SDEXT:, don't worry about it if it does not exist.
diff --git a/flashutils/flashutils.c b/flashutils/flashutils.c
index 2f8da41..7fa38a9 100644
--- a/flashutils/flashutils.c
+++ b/flashutils/flashutils.c
@@ -70,6 +70,17 @@
     return (pid == -1 ? -1 : pstat);
 }
 
+int get_flash_type(const char* partitionType) {
+    int type = UNSUPPORTED;
+    if (strcmp(partitionType, "mtd") == 0)
+        type = MTD;
+    else if (strcmp(partitionType, "emmc") == 0)
+        type = MMC;
+    else if (strcmp(partitionType, "bml") == 0)
+        type = BML;
+    return type;
+}
+
 static int detect_partition(const char *partitionType, const char *partition)
 {
     int type = device_flash_type();
@@ -81,12 +92,7 @@
         type = BML;
 
     if (partitionType != NULL) {
-        if (strstr(partitionType, "mtd") != NULL)
-            type = MTD;
-        else if (strstr(partitionType, "emmc") != NULL)
-            type = MMC;
-        else if (strstr(partitionType, "bml") != NULL)
-            type = BML;
+        type = get_flash_type(partitionType);
     }
 
     printf("partitionType: %s\n", partitionType);
diff --git a/flashutils/flashutils.h b/flashutils/flashutils.h
index 4c63c67..dd59537 100644
--- a/flashutils/flashutils.h
+++ b/flashutils/flashutils.h
@@ -39,6 +39,7 @@
 extern int cmd_bml_get_partition_device(const char *partition, char *device);
 
 extern int device_flash_type();
+extern int get_flash_type(const char* fs_type);
 
 enum flash_type {
     UNSUPPORTED = -1,
