diff --git a/android/vm/src/main.rs b/android/vm/src/main.rs
index 205b0f6..3c0887c 100644
--- a/android/vm/src/main.rs
+++ b/android/vm/src/main.rs
@@ -109,11 +109,6 @@
     /// Note: this is only supported on Android kernels android14-5.15 and higher.
     #[arg(long)]
     gdb: Option<NonZeroU16>,
-
-    /// Whether to enable earlycon. Only supported for debuggable Linux-based VMs.
-    #[cfg(debuggable_vms_improvements)]
-    #[arg(long)]
-    enable_earlycon: bool,
 }
 
 #[derive(Args, Default)]
@@ -177,18 +172,6 @@
     }
 }
 
-impl DebugConfig {
-    #[cfg(debuggable_vms_improvements)]
-    fn enable_earlycon(&self) -> bool {
-        self.enable_earlycon
-    }
-
-    #[cfg(not(debuggable_vms_improvements))]
-    fn debuggable_vms_improvements(&self) -> bool {
-        false
-    }
-}
-
 #[derive(Args, Default)]
 /// Flags for the run_app subcommand
 pub struct RunAppConfig {
diff --git a/android/vm/src/run.rs b/android/vm/src/run.rs
index 823546f..b3743ae 100644
--- a/android/vm/src/run.rs
+++ b/android/vm/src/run.rs
@@ -148,7 +148,7 @@
 
     let payload_config_str = format!("{:?}!{:?}", config.apk, payload);
 
-    let mut custom_config = CustomConfig {
+    let custom_config = CustomConfig {
         gdbPort: config.debug.gdb.map(u16::from).unwrap_or(0) as i32, // 0 means no gdb
         vendorImage: vendor,
         devices: config
@@ -163,21 +163,6 @@
         ..Default::default()
     };
 
-    if config.debug.enable_earlycon() {
-        if config.debug.debug != DebugLevel::FULL {
-            bail!("earlycon is only supported for debuggable VMs")
-        }
-        if cfg!(target_arch = "aarch64") {
-            custom_config
-                .extraKernelCmdlineParams
-                .push(String::from("earlycon=uart8250,mmio,0x3f8"));
-        } else if cfg!(target_arch = "x86_64") {
-            custom_config.extraKernelCmdlineParams.push(String::from("earlycon=uart8250,io,0x3f8"));
-        } else {
-            bail!("unexpected architecture!");
-        }
-    }
-
     let vm_config = VirtualMachineConfig::AppConfig(VirtualMachineAppConfig {
         name: config.common.name.unwrap_or_else(|| String::from("VmRunApp")),
         apk: apk_fd.into(),
