Index: ompi/debuggers/ompi_mpihandles_dll.c
===================================================================
--- ompi/debuggers/ompi_mpihandles_dll.c	(revision 22102)
+++ ompi/debuggers/ompi_mpihandles_dll.c	(working copy)
@@ -544,6 +544,9 @@
         int i, ndims, tmp;
         mqs_taddr_t dims, periods;

+	if ( ! i_info->ompi_mca_topo_base_comm_1_0_0_t.is_present_in_target )
+		return MPIDBG_ERR_NOT_FOUND;
+
         /* Alloc space for copying arrays */
         (*info)->comm_cart_num_dims = ndims =
             ompi_fetch_int(process, 
@@ -581,6 +584,9 @@
         int i, nnodes;
         mqs_taddr_t index, edges;

+	if ( ! i_info->ompi_mca_topo_base_comm_1_0_0_t.is_present_in_target )
+		return MPIDBG_ERR_NOT_FOUND;
+
         /* Alloc space for copying the indexes */
         (*info)->comm_graph_num_nodes = nnodes = 
             ompi_fetch_int(process, 
Index: ompi/debuggers/ompi_common_dll.c
===================================================================
--- ompi/debuggers/ompi_common_dll.c	(revision 22102)
+++ ompi/debuggers/ompi_common_dll.c	(working copy)
@@ -334,19 +334,20 @@
     {
         mqs_type* qh_type = mqs_find_type( image, "mca_topo_base_comm_1_0_0_t", mqs_lang_c );
         if( !qh_type ) {
-            missing_in_action = "mca_topo_base_comm_1_0_0_t";
-            goto type_missing;
+		i_info->ompi_mca_topo_base_comm_1_0_0_t.is_present_in_target = 0;
+	} else {
+		i_info->ompi_mca_topo_base_comm_1_0_0_t.is_present_in_target = 1;
+		i_info->ompi_mca_topo_base_comm_1_0_0_t.type = qh_type;
+		i_info->ompi_mca_topo_base_comm_1_0_0_t.size = mqs_sizeof(qh_type);
+		ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_ndims_or_nnodes,
+				  qh_type, mca_topo_base_comm_1_0_0_t, mtc_ndims_or_nnodes);
+		ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_dims_or_index,
+				  qh_type, mca_topo_base_comm_1_0_0_t, mtc_dims_or_index);
+		ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_periods_or_edges,
+				  qh_type, mca_topo_base_comm_1_0_0_t, mtc_periods_or_edges);
+		ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_reorder,
+				  qh_type, mca_topo_base_comm_1_0_0_t, mtc_reorder);
         }
-        i_info->ompi_mca_topo_base_comm_1_0_0_t.type = qh_type;
-        i_info->ompi_mca_topo_base_comm_1_0_0_t.size = mqs_sizeof(qh_type);
-        ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_ndims_or_nnodes,
-                          qh_type, mca_topo_base_comm_1_0_0_t, mtc_ndims_or_nnodes);
-        ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_dims_or_index,
-                          qh_type, mca_topo_base_comm_1_0_0_t, mtc_dims_or_index);
-        ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_periods_or_edges,
-                          qh_type, mca_topo_base_comm_1_0_0_t, mtc_periods_or_edges);
-        ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_reorder,
-                          qh_type, mca_topo_base_comm_1_0_0_t, mtc_reorder);
     }
     {
         mqs_type* qh_type = mqs_find_type( image, "ompi_group_t", mqs_lang_c );
Index: ompi/debuggers/ompi_common_dll_defs.h
===================================================================
--- ompi/debuggers/ompi_common_dll_defs.h	(revision 22102)
+++ ompi/debuggers/ompi_common_dll_defs.h	(working copy)
@@ -205,6 +205,7 @@
     struct {
         mqs_type *type;
         int size;
+        int is_present_in_target;
         struct {
             int mtc_ndims_or_nnodes;
             int mtc_dims_or_index;
