diff --git a/orte/mca/sstore/central/sstore_central_app.c b/orte/mca/sstore/central/sstore_central_app.c index ef0f41e449..469f76a15c 100644 --- a/orte/mca/sstore/central/sstore_central_app.c +++ b/orte/mca/sstore/central/sstore_central_app.c @@ -208,6 +208,11 @@ int orte_sstore_central_app_register(orte_sstore_base_handle_t handle) * Create a handle */ orte_sstore_handle_current = handle; + handle_info = find_handle_info(handle); + if( NULL != handle_info ) { + /* Remove the old, stale handle */ + opal_list_remove_item(active_handles, &(handle_info->super)); + } handle_info = create_new_handle_info(handle); /* diff --git a/orte/mca/sstore/stage/sstore_stage_app.c b/orte/mca/sstore/stage/sstore_stage_app.c index 6dffd38ad1..67401c4154 100644 --- a/orte/mca/sstore/stage/sstore_stage_app.c +++ b/orte/mca/sstore/stage/sstore_stage_app.c @@ -208,6 +208,11 @@ int orte_sstore_stage_app_register(orte_sstore_base_handle_t handle) * Create a handle */ orte_sstore_handle_current = handle; + handle_info = find_handle_info(handle); + if( NULL != handle_info ) { + /* Remove the old, stale handle */ + opal_list_remove_item(active_handles, &(handle_info->super)); + } handle_info = create_new_handle_info(handle); /*