diff --git a/ompi/mca/mtl/portals4/mtl_portals4.c b/ompi/mca/mtl/portals4/mtl_portals4.c index 2d25c8db7dd..5371a8be4dc 100644 --- a/ompi/mca/mtl/portals4/mtl_portals4.c +++ b/ompi/mca/mtl/portals4/mtl_portals4.c @@ -548,8 +548,10 @@ ompi_mtl_portals4_del_procs(struct mca_mtl_base_module_t *mtl, int ompi_mtl_portals4_finalize(struct mca_mtl_base_module_t *mtl) { - opal_progress_unregister(ompi_mtl_portals4_progress); - while (0 != ompi_mtl_portals4_progress()) { } + if (0 == ompi_mtl_portals4.need_init) { + opal_progress_unregister(ompi_mtl_portals4_progress); + while (0 != ompi_mtl_portals4_progress()) { } + } #if OMPI_MTL_PORTALS4_FLOW_CONTROL ompi_mtl_portals4_flowctl_fini();