diff --git a/migration/migration.c b/migration/migration.c
index 838ca79f577c89b1885c5a4850cbae509e0de797..aca7fdcd0b38aa7aae4f02f0a0c0fb2e09614b65 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -238,15 +238,12 @@ void migration_incoming_state_destroy(void)
         mis->postcopy_remote_fds = NULL;
     }
 
+    qemu_event_reset(&mis->main_thread_load_event);
+
     if (mis->socket_address_list) {
         qapi_free_SocketAddressList(mis->socket_address_list);
         mis->socket_address_list = NULL;
     }
-
-    qemu_event_destroy(&mis->main_thread_load_event);
-    qemu_sem_destroy(&mis->postcopy_pause_sem_dst);
-    qemu_sem_destroy(&mis->postcopy_pause_sem_fault);
-    qemu_mutex_destroy(&mis->rp_mutex);
 }
 
 static void migrate_generate_event(int new_state)