diff --git a/base-foc/src/platform/_main_parent_cap.h b/base-foc/src/platform/_main_parent_cap.h index 5b91d24cf..164a7cdc6 100644 --- a/base-foc/src/platform/_main_parent_cap.h +++ b/base-foc/src/platform/_main_parent_cap.h @@ -32,8 +32,10 @@ namespace Genode { * Update local name after a parent capability got reloaded via * 'Platform_env::reload_parent_cap()'. */ - if (i->id() != raw->local_name) - i->id(raw->local_name); + if (i->id() != raw->local_name) { + cap_map()->remove(i); + i = cap_map()->insert(raw->local_name, Fiasco::PARENT_CAP); + } return reinterpret_cap_cast(Native_capability(i)); }