diff --git a/tests/compat.sh b/tests/compat.sh
index ac29e50..b46a3c0 100755
--- a/tests/compat.sh
+++ b/tests/compat.sh
@@ -131,22 +131,34 @@
 
 # list_test_cases lists all potential test cases in compat.sh without execution
 list_test_cases() {
-    reset_ciphersuites
     for TYPE in $TYPES; do
+        reset_ciphersuites
         add_common_ciphersuites
         add_openssl_ciphersuites
         add_gnutls_ciphersuites
         add_mbedtls_ciphersuites
-    done
 
-    for VERIFY in $VERIFIES; do
-        VERIF=$(echo $VERIFY | tr '[:upper:]' '[:lower:]')
-        for MODE in $MODES; do
-            print_test_case m O "$O_CIPHERS"
-            print_test_case O m "$O_CIPHERS"
-            print_test_case m G "$G_CIPHERS"
-            print_test_case G m "$G_CIPHERS"
-            print_test_case m m "$M_CIPHERS"
+        # PSK cipher suites do not allow client certificate verification.
+        SUB_VERIFIES=$VERIFIES
+        if [ "$TYPE" = "PSK" ]; then
+            SUB_VERIFIES="NO"
+        fi
+
+        for VERIFY in $SUB_VERIFIES; do
+            VERIF=$(echo $VERIFY | tr '[:upper:]' '[:lower:]')
+            for MODE in $MODES; do
+                # For GnuTLS client -> Mbed TLS server,
+                # we need to force IPv4 by connecting to 127.0.0.1 but then auth fails
+                SUB_G_CIPHERS=$G_CIPHERS
+                if is_dtls "$MODE" && [ "X$VERIFY" = "XYES" ]; then
+                    SUB_G_CIPHERS=""
+                fi
+                print_test_case m O "$O_CIPHERS"
+                print_test_case O m "$O_CIPHERS"
+                print_test_case m G "$G_CIPHERS"
+                print_test_case G m "$SUB_G_CIPHERS"
+                print_test_case m m "$M_CIPHERS"
+            done
         done
     done
 }
