diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index d7eeead..115e994 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -7415,22 +7415,16 @@
             switch (stage->sequence) {
                 case PSA_PAKE_X1_STEP_KEY_SHARE:
                     return PSA_JPAKE_X1_STEP_KEY_SHARE;
-                    break;
                 case PSA_PAKE_X1_STEP_ZK_PUBLIC:
                     return PSA_JPAKE_X1_STEP_ZK_PUBLIC;
-                    break;
                 case PSA_PAKE_X1_STEP_ZK_PROOF:
                     return PSA_JPAKE_X1_STEP_ZK_PROOF;
-                    break;
                 case PSA_PAKE_X2_STEP_KEY_SHARE:
                     return PSA_JPAKE_X2_STEP_KEY_SHARE;
-                    break;
                 case PSA_PAKE_X2_STEP_ZK_PUBLIC:
                     return PSA_JPAKE_X2_STEP_ZK_PUBLIC;
-                    break;
                 case PSA_PAKE_X2_STEP_ZK_PROOF:
                     return PSA_JPAKE_X2_STEP_ZK_PROOF;
-                    break;
                 default:
                     return PSA_JPAKE_STEP_INVALID;
             }
@@ -7439,13 +7433,11 @@
             switch (stage->sequence) {
                 case PSA_PAKE_X1_STEP_KEY_SHARE:
                     return PSA_JPAKE_X2S_STEP_KEY_SHARE;
-                    break;
                 case PSA_PAKE_X1_STEP_ZK_PUBLIC:
                     return PSA_JPAKE_X2S_STEP_ZK_PUBLIC;
-                    break;
                 case PSA_PAKE_X1_STEP_ZK_PROOF:
                     return PSA_JPAKE_X2S_STEP_ZK_PROOF;
-                    break;
+                default:
                     return PSA_JPAKE_STEP_INVALID;
             }
             break;
@@ -7453,13 +7445,11 @@
             switch (stage->sequence) {
                 case PSA_PAKE_X1_STEP_KEY_SHARE:
                     return PSA_JPAKE_X4S_STEP_KEY_SHARE;
-                    break;
                 case PSA_PAKE_X1_STEP_ZK_PUBLIC:
                     return PSA_JPAKE_X4S_STEP_ZK_PUBLIC;
-                    break;
                 case PSA_PAKE_X1_STEP_ZK_PROOF:
                     return PSA_JPAKE_X4S_STEP_ZK_PROOF;
-                    break;
+                default:
                     return PSA_JPAKE_STEP_INVALID;
             }
             break;
