diff --git a/src/test/encoding/check-generated.sh b/src/test/encoding/check-generated.sh
index a429c4b5d27..a3784fed6d0 100755
--- a/src/test/encoding/check-generated.sh
+++ b/src/test/encoding/check-generated.sh
@@ -53,14 +53,17 @@ for type in `./ceph-dencoder list_types`; do
 	    failed=$(($failed + 1))
 	fi
 
-	./ceph-dencoder type $type select_test $n encode export $tmp1
-	./ceph-dencoder type $type select_test $n encode decode encode export $tmp2
-	if ! cmp $tmp1 $tmp2; then
-	    echo "**** $type test $n binary reencode check failed ****"
-	    echo "   ceph-dencoder type $type select_test $n encode export $tmp1"
-	    echo "   ceph-dencoder type $type select_test $n encode decode encode export $tmp2"
-	    echo "   cmp $tmp1 $tmp2"
-	    failed=$(($failed + 1))
+	if ./ceph-dencoder type $type is_deterministic
+	then
+	    ./ceph-dencoder type $type select_test $n encode export $tmp1
+	    ./ceph-dencoder type $type select_test $n encode decode encode export $tmp2
+	    if ! cmp $tmp1 $tmp2; then
+		echo "**** $type test $n binary reencode check failed ****"
+		echo "   ceph-dencoder type $type select_test $n encode export $tmp1"
+		echo "   ceph-dencoder type $type select_test $n encode decode encode export $tmp2"
+		echo "   cmp $tmp1 $tmp2"
+		failed=$(($failed + 1))
+	    fi
 	fi