diff --git a/ompi/mca/osc/sm/osc_sm_component.c b/ompi/mca/osc/sm/osc_sm_component.c index 0475e65266..f8a5f87b63 100644 --- a/ompi/mca/osc/sm/osc_sm_component.c +++ b/ompi/mca/osc/sm/osc_sm_component.c @@ -338,7 +338,7 @@ component_select(struct ompi_win_t *win, void **base, size_t size, int disp_unit } module->sizes[i] = rbuf[i]; - if (module->sizes[i]) { + if (module->sizes[i] || !module->noncontig) { module->bases[i] = ((char *) module->segment_base) + total; total += rbuf[i]; } else {