diff --git a/src/lib.rs b/src/lib.rs
index c357bb30ecd4b3c73f83e18c3afad73075d84cd8..c071e9a677eeab5fb7a8f54e012a3217e1b76f9d 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -417,7 +417,7 @@ pub fn with_whole_disk<P, F, T>(disk_path: P, bootloader_bios: &[u8], bootloader
     // Last megabyte of the disk is reserved for EFI partition
     let efi_size = 1024 * 1024;
     let efi_end = ((disk_size - gpt_reserved) / block_size) - 1;
-    let efi_start = efi_end - (efi_size / block_size); // 1 MiB from end of disk
+    let efi_start = (disk_size - efi_size) / block_size; // 1 MiB from end of disk
 
     let redoxfs_start = bios_end + 1;
     let redoxfs_end = efi_start - 1;