diff --git a/fastboot/engine.c b/fastboot/engine.c
index 4045759..8d46991 100644
--- a/fastboot/engine.c
+++ b/fastboot/engine.c
@@ -76,7 +76,6 @@
 #define OP_NOTICE     4
 #define OP_FORMAT     5
 #define OP_DOWNLOAD_SPARSE 6
-#define OP_COMMAND_IGNORE_FAIL 7
 
 typedef struct Action Action;
 
@@ -375,8 +374,6 @@
 
     // Following piece of code is similar to fb_queue_flash() but executes
     // actions directly without queuing
-    snprintf(cmd, sizeof(cmd), "preflash:%s", partition);
-    fb_command(usb, cmd);  /* Ignore status */
     fprintf(stderr, "sending '%s' (%lli KB)...\n", partition, image.image_size/1024);
     status = fb_download_data(usb, image.buffer, image.image_size);
     if (status) goto cleanup;
@@ -405,8 +402,6 @@
 {
     Action *a;
 
-    a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:%s", ptn);
-    a->msg = mkmsg("prep for '%s' (%d KB)", ptn, sz / 1024);
     a = queue_action(OP_DOWNLOAD, "");
     a->data = data;
     a->size = sz;
@@ -420,8 +415,6 @@
 {
     Action *a;
 
-    a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:%s", ptn);
-    a->msg = mkmsg("prep for sparse '%s' (%d KB)", ptn, sz / 1024);
     a = queue_action(OP_DOWNLOAD_SPARSE, "");
     a->data = s;
     a->size = 0;
@@ -582,9 +575,7 @@
 
 void fb_queue_download(const char *name, void *data, unsigned size)
 {
-    Action *a;
-    a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:");
-    a = queue_action(OP_DOWNLOAD, "");
+    Action *a = queue_action(OP_DOWNLOAD, "");
     a->data = data;
     a->size = size;
     a->msg = mkmsg("downloading '%s'", name);
@@ -623,8 +614,6 @@
             status = fb_command(usb, a->cmd);
             status = a->func(a, status, status ? fb_get_error() : "");
             if (status) break;
-        } else if (a->op == OP_COMMAND_IGNORE_FAIL) {
-            fb_command(usb, a->cmd);   /* Ignore status */
         } else if (a->op == OP_QUERY) {
             status = fb_command_response(usb, a->cmd, resp);
             status = a->func(a, status, status ? fb_get_error() : resp);
diff --git a/fastboot/fastboot_protocol.txt b/fastboot/fastboot_protocol.txt
index eede5d1..2248992 100644
--- a/fastboot/fastboot_protocol.txt
+++ b/fastboot/fastboot_protocol.txt
@@ -1,5 +1,5 @@
 
-FastBoot  Version  0.4++
+FastBoot  Version  0.4
 ----------------------
 
 The fastboot protocol is a mechanism for communicating with bootloaders
@@ -67,6 +67,10 @@
 Example Session
 ---------------
 
+Host:    "getvar:version"        request version variable
+
+Client:  "OKAY0.4"               return version "0.4"
+
 Host:    "getvar:nonexistant"    request some undefined variable
 
 Client:  "OKAY"                  return value ""
@@ -119,11 +123,6 @@
   "flash:%s"           Write the previously downloaded image to the
                        named partition (if possible).
 
-  "preflash:%s"        Optionally prepare for a download + flash.
-                       E.g. flash directly during download. To deal with a
-                       failed "flash" followed by a "boot", we send
-                       "preflash:".
-
   "erase:%s"           Erase the indicated partition (clear to 0xFFs)
 
   "boot"               The previously downloaded data is a boot.img
@@ -141,9 +140,7 @@
 
   "powerdown"          Power off the device.
 
-* Note about sparse files
-  Large files can be split up using libsparse, and sent to the bootloader
-  as repeated chunks of "download:%08x" + "flash:%s".
+
 
 Client Variables
 ----------------
@@ -154,6 +151,9 @@
 
 The various currently defined names are:
 
+  version             Version of FastBoot protocol supported.
+                      It should be "0.3" for this document.
+
   version-bootloader  Version string for the Bootloader.
 
   version-baseband    Version string of the Baseband Software
