diff --git a/migration/migration.c b/migration/migration.c
index e345d0cc7e8c3fee0580d5b9c46c05113f3e183b..62c243d2d41ea792f76e4b66e6fdc0338392c0f2 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2541,6 +2541,7 @@ static void migration_instance_finalize(Object *obj)
     g_free(params->tls_hostname);
     g_free(params->tls_creds);
     qemu_sem_destroy(&ms->pause_sem);
+    error_free(ms->error);
 }
 
 static void migration_instance_init(Object *obj)