diff --git a/transport/transport.c b/transport/transport.c
index 6714ff378ce8269b4f9a00a435ef28f321fbe71b..3eab859a17a96d01b6c93ea5699cb14031f4796c 100644
--- a/transport/transport.c
+++ b/transport/transport.c
@@ -388,7 +388,6 @@ mstro_transport_execute(
 	      MSTRO_ATTR_CORE_CDO_SCOPE_LOCAL_SIZE, s, mstro_status_description(s));
 	      return MSTRO_FAIL;
       }
-
       
       if (ticket->data_size == 0) {
 	      DEBUG("0-transport\n");
@@ -472,6 +471,13 @@ mstro_transport_execute(
       ERR("Failed to adjust space of CDO destination handle\n");
       return s;
     }
+    /* free up allocated layout objects*/
+    if(src_layout) {
+      mmb_layout_destroy(src_layout);
+    }
+    if(dst_layout) {
+     mmb_layout_destroy(dst_layout);
+    }
 
     mstro_status (*f)(mstro_cdo src, Mstro__Pool__TransferTicket *t)
         = g_transport_registry[ticket->method].dst_func;