diff --git a/tests/check_pm_dist_cdo.sh.in b/tests/check_pm_dist_cdo.sh.in
index c1922eaf92f54138e30a2e2663be38ea77aa0350..0a7b835fdd5efa1d0ca9ea04ac1e693b538bdf2c 100644
--- a/tests/check_pm_dist_cdo.sh.in
+++ b/tests/check_pm_dist_cdo.sh.in
@@ -96,15 +96,15 @@ export MSTRO_POOL_MANAGER_INFO
 (env MSTRO_TRANSPORT_DEFAULT=OFI MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="consumer"  MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_2 -n) || exit 99  &
 
 #start client 3
-(env MSTRO_TRANSPORT_DEFAULT=GFS MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="producer2"  MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_3 -n) || exit 99  &
+#(env MSTRO_TRANSPORT_DEFAULT=GFS MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="producer2"  MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_3 -n) || exit 99  &
 
 # start client 4
-(env MSTRO_TRANSPORT_DEFAULT=GFS MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="consumer"  MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_4 -n) || exit 99  &
+#(env MSTRO_TRANSPORT_DEFAULT=GFS MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="consumer"  MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_4 -n) || exit 99  &
 
 wait %1 || exit 99
 wait %2 || exit 99
-wait %3 || exit 99
-wait %4 || exit 99
+#wait %3 || exit 99
+#wait %4 || exit 99
 
 # trap normal script termination: close pipe to pool manager
 terminate ${PM_PID} 0
diff --git a/transport/rdma.c b/transport/rdma.c
index a2de0a89eda2f8579ba62c1c99ff966d7e58c53e..104814198808dd16b9324445fcc7ec71ff65f004 100644
--- a/transport/rdma.c
+++ b/transport/rdma.c
@@ -222,7 +222,8 @@ FRESH_REGISTRATION:
       ERR("Couldn't get CDO data and size for RDMA transport (status: %s)\n", mstro_status_description(status));
       goto BAILOUT_UNLOCK;
     }
-    regentry->addr=dl.data;
+    regentry->addr=dl.data+ticket->src_offset;
+    DEBUG("Moving cdo ptr by %zu as src offset \n\n\n\n\n", ticket->src_offset);
     regentry->len=dl.len;
 
     if (mstro_memlock(dl.data, dl.len) != MSTRO_OK) {
@@ -234,7 +235,7 @@ FRESH_REGISTRATION:
     /*  register this address for OFI */
     struct fid_mr *mr;
     /*Calculate the src ptr taking into account source offsets for dist_cdos -- silence compiler warnings */
-    void * src_ptr = (void *) ((char *) dl.data + ticket->src_offset);
+    void * src_ptr = regentry->addr; //(void *) ((char *) dl.data);
     uint64_t requested_key = e->ep->fi->domain_attr->mr_mode & FI_MR_PROV_KEY ? 0 : mstro_memory_new_key();
     int err = fi_mr_reg(e->ep->domain, src_ptr, dl.len,
                         FI_REMOTE_READ, 0, requested_key, 0, &mr, NULL);
@@ -429,7 +430,7 @@ mstro_transport_rdma_dst_execute(mstro_cdo cdo_dst, Mstro__Pool__TransferTicket*
 */
 
   uint64_t requested_key = app_entry->ep->fi->domain_attr->mr_mode & FI_MR_PROV_KEY ? 0 : mstro_memory_new_key();
-  int err = fi_mr_reg(app_entry->ep->domain, cdo_dst->raw_ptr, len,
+  int err = fi_mr_reg(app_entry->ep->domain, cdo_dst->raw_ptr+ticket->dst_offset, len,
                   FI_READ, 0, requested_key, 0, &mr, NULL);
   if (err) {
 	ERR("Couldn't register memory region for RDMA transport (err: %d, %s)\n",