diff --git a/basice2e/clients.goldoutput/client500.txt b/basice2e/clients.goldoutput/client500.txt
index 2fe18384da10ab980c25ff654b2ea641e48a3ab3..0e7426736ddea4656b40010bea8c06c93843d632 100644
--- a/basice2e/clients.goldoutput/client500.txt
+++ b/basice2e/clients.goldoutput/client500.txt
@@ -1,5 +1,9 @@
 New channel generated
-Received message (Hello, channel, this is 500) from ChannelName
-Sent message (Hello, channel, this is 500) to channel ChannelName
+Received 0/0 messages
+Received 0/0 messages
+Received 3/3 messages
+Received from ChannelName this message: Hello, channel, this is 500
+Received from ChannelName this message: Hello, channel, this is 501
+Received from ChannelName this message: Hello, channel, this is 502
 Successfully joined channel ChannelName
 Successfully left channel ChannelName
diff --git a/basice2e/clients.goldoutput/client501.txt b/basice2e/clients.goldoutput/client501.txt
index 1e7d858b3fda84e2eba04d4cf96c69711cea318c..5e19513499701a47d4bd38b80acb908d6248ff08 100644
--- a/basice2e/clients.goldoutput/client501.txt
+++ b/basice2e/clients.goldoutput/client501.txt
@@ -1,5 +1,7 @@
-Received message (Hello, channel, this is 500) from ChannelName
-Received message (Hello, channel, this is 501) from ChannelName
-Sent message (Hello, channel, this is 501) to channel ChannelName
+Received 0/0 messages
+Received 3/3 messages
+Received from ChannelName this message: Hello, channel, this is 500
+Received from ChannelName this message: Hello, channel, this is 501
+Received from ChannelName this message: Hello, channel, this is 502
 Successfully joined channel ChannelName
 Successfully left channel ChannelName
diff --git a/basice2e/clients.goldoutput/client502.txt b/basice2e/clients.goldoutput/client502.txt
index b13dc2206f3a1e9d61045418b9dae91a00ae3e11..5e19513499701a47d4bd38b80acb908d6248ff08 100644
--- a/basice2e/clients.goldoutput/client502.txt
+++ b/basice2e/clients.goldoutput/client502.txt
@@ -1,6 +1,7 @@
-Received message (Hello, channel, this is 500) from ChannelName
-Received message (Hello, channel, this is 501) from ChannelName
-Received message (Hello, channel, this is 502) from ChannelName
-Sent message (Hello, channel, this is 502) to channel ChannelName
+Received 0/0 messages
+Received 3/3 messages
+Received from ChannelName this message: Hello, channel, this is 500
+Received from ChannelName this message: Hello, channel, this is 501
+Received from ChannelName this message: Hello, channel, this is 502
 Successfully joined channel ChannelName
 Successfully left channel ChannelName
diff --git a/basice2e/crust.sh b/basice2e/crust.sh
index f7c2ed86e26996fda9595c3b90ffa0165a048798..e2bb257d8bf74bce94c863c0f03370ce3e7ad4b7 100755
--- a/basice2e/crust.sh
+++ b/basice2e/crust.sh
@@ -177,7 +177,7 @@ then
     cat $SERVERLOGS/server-*.log | grep -a "FATAL" | grep -a -v "context" | grep -av "transport is closing" | grep -av "database" >> results/server-errors.txt || true
     diff -aruN results/server-errors.txt noerrors.txt
     IGNOREMSG="GetRoundBufferInfo: Error received: rpc error: code = Unknown desc = round buffer is empty"
-    cat $GATEWAYLOGS/*.log | grep -a "ERROR" | grep -av "context" | grep -av "certificate" | grep -av "Failed to read key" | grep -av "$IGNOREMSG" > results/gateway-errors.txt || true
+    cat $GATEWAYLOGS/*.log | grep -a "ERROR" | grep -av "context" | grep -av "certificate" | grep -av "Failed to read key" | grep -av "$IGNOREMSG" | grep -av "Failed to serve port" > results/gateway-errors.txt || true
     cat $GATEWAYLOGS/*.log | grep -a "FATAL" | grep -av "context" | grep -av "transport is closing" >> results/gateway-errors.txt || true
     diff -aruN results/gateway-errors.txt noerrors.txt
 fi
\ No newline at end of file
diff --git a/basice2e/run.sh b/basice2e/run.sh
index cf7814adb986bd441f09e12d928578994efb59ad..df1de6c48aa02d7ee67fee0a67b66f9bca758d95 100755
--- a/basice2e/run.sh
+++ b/basice2e/run.sh
@@ -1249,43 +1249,52 @@ echo "Non-Ephemeral Test Complete."
 echo "TESTING CHANNELS..."
 
 # Initialize creator of channel (will use default channel file path in CLI)
-CLIENTCMD="timeout 240s ../bin/client channels -s blob500 $CLIENTOPTS -l $CLIENTOUT/client500.log --channelPath $CLIENTOUT/channel500.chan  --channelIdentityPath $CLIENTOUT/channel500.id --newChannel --sendToChannel --message \"Hello, channel, this is 500\""
+CLIENTCMD="timeout 300s ../bin/client channels -s blob500 $CLIENTOPTS -l $CLIENTOUT/client500.log --receiveCount 0 --channelPath $CLIENTOUT/channel500.chan  --channelIdentityPath $CLIENTOUT/channel500.id --newChannel"
 eval $CLIENTCMD > $CLIENTOUT/client500.txt 2>&1 &
 PIDVAL=$!
 echo "$CLIENTCMD -- $PIDVAL"
+
 wait $PIDVAL
 
+# Have client which created channel send message to channel
+CLIENTCMD="timeout 300s ../bin/client channels -s blob500 -l $CLIENTOUT/client500.log $CLIENTOPTS --receiveCount 3 --channelPath $CLIENTOUT/channel500.chan --channelIdentityPath $CLIENTOUT/channel500.id --sendToChannel --message \"Hello, channel, this is 500\""
+eval $CLIENTCMD >> $CLIENTOUT/client500.txt 2>&1 &
+PIDVAL1=$!
+echo "$CLIENTCMD -- $PIDVAL1"
+
 # Initialize client which will join channel (will use default channel file path in CLI)
-CLIENTCMD="timeout 240s ../bin/client channels -s blob501 -l $CLIENTOUT/client501.log $CLIENTOPTS --channelPath $CLIENTOUT/channel500.chan --channelIdentityPath $CLIENTOUT/channel501.id --joinChannel --sendToChannel --message \"Hello, channel, this is 501\""
+CLIENTCMD="timeout 300s ../bin/client channels -s blob501 -l $CLIENTOUT/client501.log $CLIENTOPTS --receiveCount 3 --channelPath $CLIENTOUT/channel500.chan --channelIdentityPath $CLIENTOUT/channel501.id --joinChannel --sendToChannel --message \"Hello, channel, this is 501\""
 eval $CLIENTCMD > $CLIENTOUT/client501.txt 2>&1 &
 PIDVAL2=$!
 echo "$CLIENTCMD -- $PIDVAL2"
-wait $PIDVAL2
 
 # Initialize another client which will join channel (will use default channel file path in CLI)
-CLIENTCMD="timeout 240s ../bin/client channels -s blob502 -l $CLIENTOUT/client502.log $CLIENTOPTS --channelPath $CLIENTOUT/channel500.chan --channelIdentityPath $CLIENTOUT/channel502.id --joinChannel --sendToChannel --message \"Hello, channel, this is 502\""
+CLIENTCMD="timeout 420s ../bin/client channels -s blob502 -l $CLIENTOUT/client502.log $CLIENTOPTS --receiveCount 3 --channelPath $CLIENTOUT/channel500.chan --channelIdentityPath $CLIENTOUT/channel502.id --joinChannel --sendToChannel --message \"Hello, channel, this is 502\""
 eval $CLIENTCMD > $CLIENTOUT/client502.txt 2>&1 &
 PIDVAL3=$!
 echo "$CLIENTCMD -- $PIDVAL3"
+
+wait $PIDVAL1
+wait $PIDVAL2
 wait $PIDVAL3
 
 # All clients will leave the channel
-CLIENTCMD="timeout 240s ../bin/client channels -s blob500 -l $CLIENTOUT/client500.log $CLIENTOPTS --channelPath $CLIENTOUT/channel500.chan  --channelIdentityPath $CLIENTOUT/channel500.id --leaveChannel"
+CLIENTCMD="timeout 300s ../bin/client channels -s blob500 -l $CLIENTOUT/client500.log $CLIENTOPTS --receiveCount 0 --channelPath $CLIENTOUT/channel500.chan  --channelIdentityPath $CLIENTOUT/channel500.id --leaveChannel"
 eval $CLIENTCMD >> $CLIENTOUT/client500.txt 2>&1 &
 PIDVAL1=$!
 echo "$CLIENTCMD -- $PIDVAL1"
 
-CLIENTCMD="timeout 240s ../bin/client channels -s blob501 -l $CLIENTOUT/client501.log $CLIENTOPTS --channelPath $CLIENTOUT/channel500.chan  --channelIdentityPath $CLIENTOUT/channel501.id --leaveChannel"
+CLIENTCMD="timeout 300s ../bin/client channels -s blob501 -l $CLIENTOUT/client501.log $CLIENTOPTS --receiveCount 0 --channelPath $CLIENTOUT/channel500.chan  --channelIdentityPath $CLIENTOUT/channel501.id --leaveChannel"
 eval $CLIENTCMD >> $CLIENTOUT/client501.txt 2>&1 &
 PIDVAL2=$!
 echo "$CLIENTCMD -- $PIDVAL2"
 
 # Initialize another client which will join channel (will use default channel file path in CLI)
-CLIENTCMD="timeout 240s ../bin/client channels -s blob502 -l $CLIENTOUT/client502.log $CLIENTOPTS --channelPath $CLIENTOUT/channel500.chan  --channelIdentityPath $CLIENTOUT/channel502.id --leaveChannel"
+CLIENTCMD="timeout 300s ../bin/client channels -s blob502 -l $CLIENTOUT/client502.log $CLIENTOPTS --receiveCount 0 --channelPath $CLIENTOUT/channel500.chan  --channelIdentityPath $CLIENTOUT/channel502.id --leaveChannel"
 eval $CLIENTCMD >> $CLIENTOUT/client502.txt 2>&1 &
 PIDVAL3=$!
 echo "$CLIENTCMD -- $PIDVAL3"
-sleep 15
+sleep 20
 wait $PIDVAL3
 wait $PIDVAL2
 wait $PIDVAL1
@@ -1355,7 +1364,9 @@ then
     cat $SERVERLOGS/server-*.log | grep -a "FATAL" | grep -a -v "context" | grep -av "transport is closing" | grep -av "database" >> results/server-errors.txt || true
     diff -aruN results/server-errors.txt noerrors.txt
     IGNOREMSG="GetRoundBufferInfo: Error received: rpc error: code = Unknown desc = round buffer is empty"
-    cat $GATEWAYLOGS/*.log | grep -a "ERROR" | grep -av "context" | grep -av "certificate" | grep -av "Failed to read key" | grep -av "$IGNOREMSG" > results/gateway-errors.txt || true
+    IGNORESERVE="Failed to serve "
+    IGNORESTART="Failed to start "
+    cat $GATEWAYLOGS/*.log | grep -a "ERROR" | grep -av "context" | grep -av "certificate" | grep -av "Failed to read key" | grep -av "$IGNOREMSG" | grep -av "$IGNORESERVE" | grep -av "$IGNORESTART"  > results/gateway-errors.txt || true
     cat $GATEWAYLOGS/*.log | grep -a "FATAL" | grep -av "context" | grep -av "transport is closing" >> results/gateway-errors.txt || true
     diff -aruN results/gateway-errors.txt noerrors.txt
     echo "Checking backup files for equality..."