char *cache_name = xasprintf("%s+%s", port->ps->name, port->port_cfg->name);
list_remove(&port->ports_node);
- shash_find_and_delete(&ctx->ports, port->port_cfg->name);
+ shash_find_and_delete(&ctx->ports, cache_name);
vteprec_physical_port_delete(port->port_cfg);
free(cache_name);
free(port);