diff --git a/maestro/groups.c b/maestro/groups.c
index 1f2c61b88199f6c46c4c80ea1f4df72178522c1d..6a7f7cdd65437d85217eec66d871351138520aa1 100644
--- a/maestro/groups.c
+++ b/maestro/groups.c
@@ -312,20 +312,21 @@ mstro_group_seal(mstro_group g)
     HASH_ITER(hh, g->members, el, tmp) {
       m->declared_members[i] = malloc(sizeof(Mstro__Pool__UUID));
       /* need to ensure the GID is ready */
-      mstro_status s = mstro_cdo_seal(el->entry);
-      if(s!=MSTRO_OK) {
-        ERR("Failed to seal declared group member: %d\n", s);
-      }
-      if(s!=MSTRO_OK || m->declared_members[i]==NULL) {
-        for(size_t j=i; j>0; j--) {
-          free(m->declared_members[j-1]);
-        };
-        free(m->declared_members);
-        m->declared_members=NULL;
-        goto BAILOUT_FREE;
-        
+      if(!mstro_cdo_state_check(el->entry, MSTRO_CDO_STATE_SEALED)) {
+        mstro_status s = mstro_cdo_seal(el->entry);
+        if(s!=MSTRO_OK) {
+          ERR("Failed to seal declared group member: %d\n", s);
+        }
+        if(s!=MSTRO_OK || m->declared_members[i]==NULL) {
+          for(size_t j=i; j>0; j--) {
+            free(m->declared_members[j-1]);
+          };
+          free(m->declared_members);
+          m->declared_members=NULL;
+          goto BAILOUT_FREE;
+          
+        }
       }
-
       mstro__pool__uuid__init(m->declared_members[i]);
       m->declared_members[i]->qw0 = el->entry->gid.qw[0];
       m->declared_members[i]->qw1 = el->entry->gid.qw[1];
diff --git a/transport/transport.c b/transport/transport.c
index 101ec6c921e6d41e59c5e8b294cbf6c9dbf6ea51..0690af7edff5ead202d06172de6cb67b7c0c930f 100644
--- a/transport/transport.c
+++ b/transport/transport.c
@@ -381,16 +381,18 @@ mstro_transport_execute(
        if(s==MSTRO_OK) {
          src_size=*(int64_t*)sizep;
        } else if(s==MSTRO_NOENT && type==MSTRO_CDO_ATTR_VALUE_INVALID) {
+	     ERR("Attribute not found or value invalid\n");
          src_size=-1;
        } else {
          ERR("Failed to look up %s (%d: %s)\n",
              MSTRO_ATTR_CORE_CDO_SCOPE_LOCAL_SIZE, s, mstro_status_description(s));
          return MSTRO_FAIL;
        }
-	   // XXX Let's use mamba, while we figure out the attribute corruption
-//       src_size = cdo->mamba_array->allocation->n_bytes;
- 
-       if (src_size != ticket->data_size) {
+
+       if (ticket->data_size == 0) {
+         DEBUG("0-transport\n");
+	   }
+       else if (src_size != ticket->data_size) {
          ERR("SRC cdo has a size (%" PRIi64 ") that doesn't match ticket-specified size (%" PRIi64 ")\n",
             src_size, ticket->data_size);
 			return MSTRO_FAIL;