copy extended command and run it, rather than load and delete.
diff --git a/nandroid.c b/nandroid.c
index 8772ed0..8485f47 100644
--- a/nandroid.c
+++ b/nandroid.c
@@ -144,9 +144,16 @@
 
     struct stat st;
     if (0 != stat("/dev/block/mmcblk0p2", &st))
+    {
         ui_print("No sd-ext found. Skipping backup of sd-ext.\n");
-    else if (0 != (ret = ensure_root_path_mounted("SDEXT:")) || 0 != (ret = nandroid_backup_partition(backup_path, "SDEXT:")))
-        return ret;
+    }
+    else
+    {
+        if (0 != ensure_root_path_mounted("SDEXT:"))
+            ui_print("Could not mount sd-ext. sd-ext backup may not be supported on this device. Skipping backup of sd-ext.");
+        else if (0 != (ret = nandroid_backup_partition(backup_path, "SDEXT:")))
+            return ret;
+    }
     
     ui_print("Generating md5 sum...\n");
     sprintf(tmp, "nandroid-md5.sh %s", backup_path);