diff --git a/boot/bootutil/src/bootutil_misc.c b/boot/bootutil/src/bootutil_misc.c
index 6c05eff..a29a27d 100644
--- a/boot/bootutil/src/bootutil_misc.c
+++ b/boot/bootutil/src/bootutil_misc.c
@@ -148,10 +148,17 @@
 }
 
 uint32_t
+boot_status_sz(uint32_t min_write_sz)
+{
+    return /* state for all sectors */
+           BOOT_STATUS_MAX_ENTRIES * BOOT_STATUS_STATE_COUNT * min_write_sz;
+}
+
+uint32_t
 boot_trailer_sz(uint32_t min_write_sz)
 {
     return /* state for all sectors */
-           BOOT_STATUS_MAX_ENTRIES * BOOT_STATUS_STATE_COUNT * min_write_sz +
+           boot_status_sz(min_write_sz)           +
 #ifdef MCUBOOT_ENC_IMAGES
            /* encryption keys */
            BOOT_ENC_KEY_SIZE * 2                  +
diff --git a/boot/bootutil/src/bootutil_priv.h b/boot/bootutil/src/bootutil_priv.h
index bab5ec9..df49453 100644
--- a/boot/bootutil/src/bootutil_priv.h
+++ b/boot/bootutil/src/bootutil_priv.h
@@ -251,6 +251,7 @@
                         size_t slen, uint8_t key_id);
 
 int boot_magic_compatible_check(uint8_t tbl_val, uint8_t val);
+uint32_t boot_status_sz(uint32_t min_write_sz);
 uint32_t boot_trailer_sz(uint32_t min_write_sz);
 int boot_status_entries(int image_index, const struct flash_area *fap);
 uint32_t boot_status_off(const struct flash_area *fap);
diff --git a/sim/mcuboot-sys/src/c.rs b/sim/mcuboot-sys/src/c.rs
index f3de302..6df89e4 100644
--- a/sim/mcuboot-sys/src/c.rs
+++ b/sim/mcuboot-sys/src/c.rs
@@ -36,10 +36,14 @@
     (result, asserts)
 }
 
-pub fn boot_trailer_sz(align: u8) -> u32 {
+pub fn boot_trailer_sz(align: u32) -> u32 {
     unsafe { raw::boot_trailer_sz(align) }
 }
 
+pub fn boot_status_sz(align: u32) -> u32 {
+    unsafe { raw::boot_status_sz(align) }
+}
+
 pub fn boot_magic_sz() -> usize {
     unsafe { raw::boot_magic_sz() as usize }
 }
@@ -81,7 +85,8 @@
         // for information and tracking.
         pub fn invoke_boot_go(sim_ctx: *mut CSimContext, areadesc: *const CAreaDesc) -> libc::c_int;
 
-        pub fn boot_trailer_sz(min_write_sz: u8) -> u32;
+        pub fn boot_trailer_sz(min_write_sz: u32) -> u32;
+        pub fn boot_status_sz(min_write_sz: u32) -> u32;
 
         pub fn boot_magic_sz() -> u32;
         pub fn boot_max_align() -> u32;
diff --git a/sim/src/image.rs b/sim/src/image.rs
index 8d6fb91..b7f8ed6 100644
--- a/sim/src/image.rs
+++ b/sim/src/image.rs
@@ -657,19 +657,11 @@
     }
 
     fn trailer_sz(&self, align: usize) -> usize {
-        c::boot_trailer_sz(align as u8) as usize
+        c::boot_trailer_sz(align as u32) as usize
     }
 
-    // FIXME: could get status sz from bootloader
     fn status_sz(&self, align: usize) -> usize {
-        let bias = if Caps::EncRsa.present() || Caps::EncKw.present() ||
-                Caps::EncEc256.present() {
-            32
-        } else {
-            0
-        };
-
-        self.trailer_sz(align) - (16 + 32 + bias)
+        c::boot_status_sz(align as u32) as usize
     }
 
     /// This test runs a simple upgrade with no fails in the images, but
