diff --git a/boot/bootutil/src/bootutil_priv.h b/boot/bootutil/src/bootutil_priv.h
index 6b298f4..bab5ec9 100644
--- a/boot/bootutil/src/bootutil_priv.h
+++ b/boot/bootutil/src/bootutil_priv.h
@@ -86,6 +86,7 @@
 #ifdef MCUBOOT_ENC_IMAGES
     uint8_t enckey[BOOT_NUM_SLOTS][BOOT_ENC_KEY_SIZE];
 #endif
+    int source;           /* Which slot contains swap status metadata */
 };
 
 #define BOOT_MAGIC_GOOD     1
diff --git a/boot/bootutil/src/swap_misc.c b/boot/bootutil/src/swap_misc.c
index f194538..9db3299 100644
--- a/boot/bootutil/src/swap_misc.c
+++ b/boot/bootutil/src/swap_misc.c
@@ -133,12 +133,11 @@
     const struct flash_area *fap;
     uint32_t off;
     uint8_t swap_info;
-    int status_loc;
     int area_id;
     int rc;
 
-    status_loc = swap_status_source(state);
-    switch (status_loc) {
+    bs->source = swap_status_source(state);
+    switch (bs->source) {
     case BOOT_STATUS_SOURCE_NONE:
         return 0;
 
diff --git a/boot/bootutil/src/swap_move.c b/boot/bootutil/src/swap_move.c
index 6955474..ab17b70 100644
--- a/boot/bootutil/src/swap_move.c
+++ b/boot/bootutil/src/swap_move.c
@@ -299,11 +299,13 @@
     old_off = boot_img_sector_off(state, BOOT_PRIMARY_SLOT, idx - 1);
 
     if (bs->idx == BOOT_STATUS_IDX_0) {
-        rc = swap_erase_trailer_sectors(state, fap_pri);
-        assert(rc == 0);
+        if (bs->source != BOOT_STATUS_SOURCE_PRIMARY_SLOT) {
+            rc = swap_erase_trailer_sectors(state, fap_pri);
+            assert(rc == 0);
 
-        rc = swap_status_init(state, fap_pri, bs);
-        assert(rc == 0);
+            rc = swap_status_init(state, fap_pri, bs);
+            assert(rc == 0);
+        }
 
         rc = swap_erase_trailer_sectors(state, fap_sec);
         assert(rc == 0);
