diff --git a/nandroid.c b/nandroid.c
index 5d174a7..4a92e33 100644
--- a/nandroid.c
+++ b/nandroid.c
@@ -141,6 +141,15 @@
         return print_and_error("Error while dumping recovery image!\n");
 #endif
 
+    if (0 == (ret = get_partition_device("wimax", tmp)))
+    {
+        ui_print("Backing up wimax...\n");
+        sprintf(tmp, "%s/%s", backup_path, "wimax.img");
+        ret = backup_raw_partition("wimax", tmp);
+        if (0 != ret)
+            return print_and_error("Error while dumping wimax image!\n");
+    }
+
     if (0 != (ret = nandroid_backup_partition(backup_path, "/system")))
         return ret;
 
@@ -253,7 +262,7 @@
     return nandroid_restore_partition_extended(backup_path, root, 1);
 }
 
-int nandroid_restore(const char* backup_path, int restore_boot, int restore_system, int restore_data, int restore_cache, int restore_sdext)
+int nandroid_restore(const char* backup_path, int restore_boot, int restore_system, int restore_data, int restore_cache, int restore_sdext, int restore_wimax)
 {
     ui_set_background(BACKGROUND_ICON_INSTALLING);
     ui_show_indeterminate_progress();
@@ -285,6 +294,26 @@
     }
 #endif
     
+    if (restore_wimax && 0 == (ret = get_partition_device("wimax", tmp)))
+    {
+        sprintf(tmp, "%s/wimax.img", backup_path);
+
+        struct stat st;
+        if (0 != stat(tmp, &st))
+        {
+            ui_print("WARNING: Wimax partition exists, but nandroid\n");
+            ui_print("         backup does not contain wimax image.\n");
+            ui_print("         You should create a new backup to\n");
+            ui_print("         protect your wimax data.\n");
+        }
+        else
+        {
+            ui_print("Restoring wimax image...\n");
+            if (0 != (ret = restore_raw_partition("wimax", tmp)))
+                return ret;
+        }
+    }
+
     if (restore_system && 0 != (ret = nandroid_restore_partition(backup_path, "/system")))
         return ret;
 
@@ -354,7 +383,7 @@
     {
         if (argc != 3)
             return nandroid_usage();
-        return nandroid_restore(argv[2], 1, 1, 1, 1, 1);
+        return nandroid_restore(argv[2], 1, 1, 1, 1, 1, 1);
     }
     
     return nandroid_usage();
