diff --git a/basice2e/clients.goldoutput/client25.txt b/basice2e/clients.goldoutput/client25.txt
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4f0e446078bf225e1e9668ecc2091d64cfc71896 100644
--- a/basice2e/clients.goldoutput/client25.txt
+++ b/basice2e/clients.goldoutput/client25.txt
@@ -0,0 +1,29 @@
+
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Jonah26, with E2E Encryption
+Message received: Hello from Josh25 to myself, without E2E Encryption
+Received 0
+Received 0
+Received 0
+Received 1
+Received 5
+Received 5
+Sent: Hello from Josh25 to myself, without E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
+Sent: Hello from Josh25, with E2E Encryption
diff --git a/basice2e/run.sh b/basice2e/run.sh
index 60af66f70d7caa73bc16116af33536fc7b46cb96..a93d867b7c01e74b28baa34327e1db9761fd3fca 100755
--- a/basice2e/run.sh
+++ b/basice2e/run.sh
@@ -620,85 +620,84 @@ echo "END BACKUP AND RESTORE..."
 # Generate contact and proto user file for client25
 echo "TESTING PROTO USER FILE..."
 
-CLIENTCMD="timeout 20s ../bin/client  -l $CLIENTOUT/client25.log -s blob11420 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/josh25-contact.bin --protoUserOut $CLIENTOUT/client25Proto.json "
-eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true &
+CLIENTCMD="timeout 60s ../bin/client -l $CLIENTOUT/client25.log -s blob11420 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/josh25-contact.bin --protoUserOut $CLIENTOUT/client25Proto.json --unsafe --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
 PIDVAL=$!
 echo "$CLIENTCMD -- $PIDVAL"
-echo "FIXME: The above exits uncleanly. This should be fixed!"
 wait $PIDVAL
 
-# # Generate contact and proto user file for client 26
-# CLIENTCMD="timeout 20s ../bin/client  -l $CLIENTOUT/client26.log -s blob11421 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/jonah26-contact.bin --protoUserOut $CLIENTOUT/client26Proto.json"
-# eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
-# PIDVAL=$!
-# echo "$CLIENTCMD -- $PIDVAL"
-# wait $PIDVAL
+# Generate contact and proto user file for client 26
+CLIENTCMD="timeout 60s ../bin/client -l $CLIENTOUT/client26.log -s blob11421 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/jonah26-contact.bin --protoUserOut $CLIENTOUT/client26Proto.json --unsafe --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
 
-# # Clients will now load from the protoUser file and write to session
-# CLIENTCMD="timeout 60s ../bin/client  $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25  --protoUserPath $CLIENTOUT/client25Proto.json"
-# eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
-# PIDVAL=$!
-# echo "$CLIENTCMD -- $PIDVAL"
-# CLIENTCMD="timeout 60s ../bin/client  $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26  --protoUserPath $CLIENTOUT/client26Proto.json"
-# eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
-# PIDVAL2=$!
-# echo "$CLIENTCMD -- $PIDVAL2"
-# wait $PIDVAL
-# wait $PIDVAL2
+# Clients will now load from the protoUser file and write to session
+CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25  --protoUserPath $CLIENTOUT/client25Proto.json --unsafe --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26  --protoUserPath $CLIENTOUT/client26Proto.json --unsafe --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL2"
+wait $PIDVAL
+wait $PIDVAL2
 
-# # Continue with E2E testing with session files loaded from proto
-# CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --writeContact $CLIENTOUT/josh25-contact.bin --unsafe -m \"Hello from Josh25 to myself, without E2E Encryption\" "
-# eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
-# PIDVAL=$!
-# echo "$CLIENTCMD -- $PIDVAL"
-# wait $PIDVAL
-# CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --writeContact $CLIENTOUT/jonah26-contact.bin --destfile $CLIENTOUT/josh25-contact.bin --send-auth-request --sendCount 0 --receiveCount 0"
-# eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
-# PIDVAL2=$!
-# echo "$CLIENTCMD -- $PIDVAL"
+# Continue with E2E testing with session files loaded from proto
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --writeContact $CLIENTOUT/josh25-contact.bin --unsafe -m \"Hello from Josh25 to myself, without E2E Encryption\" "
+eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --writeContact $CLIENTOUT/jonah26-contact.bin --destfile $CLIENTOUT/josh25-contact.bin --send-auth-request --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL"
 
-# while [ ! -s $CLIENTOUT/jonah26-contact.bin ]; do
-#     sleep 1
-#     echo -n "."
-# done
-
-# # Print IDs to console
-# TMPID=$(cat $CLIENTOUT/client25.log | grep -a "User\:" | awk -F' ' '{print $5}' | head -1)
-# JOSHID=${TMPID}
-# echo "JOSH ID: $JOSHID"
-# TMPID=$(cat $CLIENTOUT/client26.log | grep -a "User\:" | awk -F' ' '{print $5}' | head -1)
-# JONAHID=${TMPID}
-# echo "JONAH ID: $JONAHID"
-
-# ## Client 25 will now wait for client 26's E2E Auth channel request and confirm
-# CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destfile $CLIENTOUT/jonah26-contact.bin --sendCount 0 --receiveCount 0"
-# eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
-# PIDVAL=$!
-# echo "$CLIENTCMD -- $PIDVAL"
-# wait $PIDVAL
-# wait $PIDVAL2
+while [ ! -s $CLIENTOUT/jonah26-contact.bin ]; do
+    sleep 1
+    echo -n "."
+done
 
-# # Send E2E messages with written sessions
-# CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\""
-# eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
-# PIDVAL=$!
-# echo "$CLIENTCMD -- $PIDVAL"
-# CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26  --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\""
-# eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
-# PIDVAL2=$!
-# echo "$CLIENTCMD -- $PIDVAL"
-# wait $PIDVAL
-# wait $PIDVAL2
-# CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\""
-# eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
-# PIDVAL=$!
-# echo "$CLIENTCMD -- $PIDVAL"
-# CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\""
-# eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
-# PIDVAL2=$!
-# echo "$CLIENTCMD -- $PIDVAL"
-# wait $PIDVAL
-# wait $PIDVAL2
+# Print IDs to console
+TMPID=$(cat $CLIENTOUT/client25.log | grep -a "User\:" | awk -F' ' '{print $5}' | head -1)
+JOSHID=${TMPID}
+echo "JOSH ID: $JOSHID"
+TMPID=$(cat $CLIENTOUT/client26.log | grep -a "User\:" | awk -F' ' '{print $5}' | head -1)
+JONAHID=${TMPID}
+echo "JONAH ID: $JONAHID"
+
+## Client 25 will now wait for client 26's E2E Auth channel request and confirm
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destfile $CLIENTOUT/jonah26-contact.bin --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+wait $PIDVAL2
+
+# Send E2E messages with written sessions
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26  --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+wait $PIDVAL2
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client25.txt &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client26.txt &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+wait $PIDVAL2
 
 ###############################################################################
 # Test  Single Use