diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index d4e6204..409d679 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -29,6 +29,10 @@
                        "wipe cache partition",
                        NULL };
 
+int device_recovery_start() {
+    return 0;
+}
+
 int device_toggle_display(volatile char* key_pressed, int key_code) {
     return key_code == KEY_HOME;
 }
diff --git a/firmware.c b/firmware.c
index 6739c1e..4c1a9a4 100644
--- a/firmware.c
+++ b/firmware.c
@@ -119,7 +119,6 @@
      * wipe the cache and reboot into the system.)
      */
     snprintf(boot.command, sizeof(boot.command), "update-%s", update_type);
-    strlcat(boot.recovery, "--recover_log\n", sizeof(boot.recovery));
     if (set_bootloader_message(&boot)) {
         format_root_device("CACHE:");
         return -1;
diff --git a/recovery.c b/recovery.c
index 1a88560..73a54a2 100644
--- a/recovery.c
+++ b/recovery.c
@@ -44,9 +44,8 @@
   { "update_package", required_argument, NULL, 'u' },
   { "wipe_data", no_argument, NULL, 'w' },
   { "wipe_cache", no_argument, NULL, 'c' },
-  // TODO{oam}: implement improved command line passing key, egnot to review.
+  // TODO{oam}: implement improved command line passing key, egnor to review.
   { "set_encrypted_filesystem", required_argument, NULL, 'e' },
-  { "recover_log", no_argument, NULL, 'g' },
   { NULL, 0, NULL, 0 },
 };
 
@@ -492,13 +491,14 @@
         case 'w': wipe_data = wipe_cache = 1; break;
         case 'c': wipe_cache = 1; break;
         case 'e': efs_mode = optarg; toggle_efs = 1; break;
-        case 'g': recover_firmware_update_log(); break;
         case '?':
             LOGE("Invalid command argument\n");
             continue;
         }
     }
 
+    device_recovery_start();
+
     fprintf(stderr, "Command:");
     for (arg = 0; arg < argc; arg++) {
         fprintf(stderr, " \"%s\"", argv[arg]);
diff --git a/recovery_ui.h b/recovery_ui.h
index 8818ef3..e451bdf 100644
--- a/recovery_ui.h
+++ b/recovery_ui.h
@@ -17,6 +17,9 @@
 #ifndef _RECOVERY_UI_H
 #define _RECOVERY_UI_H
 
+// Called when recovery starts up.  Returns 0.
+extern int device_recovery_start();
+
 // Called in the input thread when a new key (key_code) is pressed.
 // *key_pressed is an array of KEY_MAX+1 bytes indicating which other
 // keys are already pressed.  Return true if the text display should
