diff --git a/bin/tests/system/statschannel/tests.sh b/bin/tests/system/statschannel/tests.sh
index a91b0c1448..37146eafa3 100644
--- a/bin/tests/system/statschannel/tests.sh
+++ b/bin/tests/system/statschannel/tests.sh
@@ -197,20 +197,28 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-ret=0
echo_i "checking consistency between regular and compressed output ($n)"
-if [ "$HAVEXMLSTATS" ];
-then
- URL=http://10.53.0.2:${EXTRAPORT1}/xml/v3/server
-else
- URL=http://10.53.0.2:${EXTRAPORT1}/json/v1/server
-fi
-$CURL -D regular.headers $URL 2>/dev/null | \
- sed -e "s#.*##g" > regular.out
-$CURL -D compressed.headers --compressed $URL 2>/dev/null | \
- sed -e "s#.*##g" > compressed.out
-diff regular.out compressed.out >/dev/null || ret=1
-if [ $ret != 0 ]; then echo_i "failed"; fi
+for i in 1 2 3 4 5; do
+ ret=0
+ if [ "$HAVEXMLSTATS" ];
+ then
+ URL=http://10.53.0.2:${EXTRAPORT1}/xml/v3/server
+ else
+ URL=http://10.53.0.2:${EXTRAPORT1}/json/v1/server
+ fi
+ $CURL -D regular.headers $URL 2>/dev/null | \
+ sed -e "s#.*##g" > regular.out
+ $CURL -D compressed.headers --compressed $URL 2>/dev/null | \
+ sed -e "s#.*##g" > compressed.out
+ diff regular.out compressed.out >/dev/null || ret=1
+ if [ $ret != 0 ]; then
+ echo_i "failed on try $i, probably a timing issue, trying again"
+ sleep 1
+ else
+ break
+ fi
+done
+
status=`expr $status + $ret`
n=`expr $n + 1`