diff --git a/programs/psa/psa_constant_names_generated.c b/programs/psa/psa_constant_names_generated.c
index b1a801f..f797c02 100644
--- a/programs/psa/psa_constant_names_generated.c
+++ b/programs/psa/psa_constant_names_generated.c
@@ -154,33 +154,24 @@
             append(&buffer, buffer_size, &required_size,
                    "PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(", 33);
             length_modifier = PSA_MAC_TRUNCATED_LENGTH(alg);
-        } else {
-            if (core_alg != alg) {
-                append(&buffer, buffer_size, &required_size,
-                       "PSA_ALG_TRUNCATED_MAC(", 22);
-                length_modifier = PSA_MAC_TRUNCATED_LENGTH(alg);
-            }
+        } else if (core_alg != alg) {
+            append(&buffer, buffer_size, &required_size,
+                   "PSA_ALG_TRUNCATED_MAC(", 22);
+            length_modifier = PSA_MAC_TRUNCATED_LENGTH(alg);
         }
     } else if (PSA_ALG_IS_AEAD(alg)) {
         core_alg = PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG(alg);
-        if (alg & PSA_ALG_AEAD_AT_LEAST_THIS_LENGTH_FLAG) {
-            if (core_alg == 0) {
-                /* For unknown AEAD algorithms, there is no "default tag length". */
-                core_alg = alg;
-            } else {
-                append(&buffer, buffer_size, &required_size,
-                       "PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(", 43);
-                length_modifier = PSA_AEAD_TAG_LENGTH(alg);
-            }
-        } else {
-            if (core_alg == 0) {
-                /* For unknown AEAD algorithms, there is no "default tag length". */
-                core_alg = alg;
-            } else if (core_alg != alg) {
-                append(&buffer, buffer_size, &required_size,
-                       "PSA_ALG_AEAD_WITH_SHORTENED_TAG(", 32);
-                length_modifier = PSA_AEAD_TAG_LENGTH(alg);
-            }
+        if (core_alg == 0) {
+            /* For unknown AEAD algorithms, there is no "default tag length". */
+            core_alg = alg;
+        } else if (alg & PSA_ALG_AEAD_AT_LEAST_THIS_LENGTH_FLAG) {
+            append(&buffer, buffer_size, &required_size,
+                   "PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(", 43);
+            length_modifier = PSA_AEAD_TAG_LENGTH(alg);
+        } else if (core_alg != alg) {
+            append(&buffer, buffer_size, &required_size,
+                   "PSA_ALG_AEAD_WITH_SHORTENED_TAG(", 32);
+            length_modifier = PSA_AEAD_TAG_LENGTH(alg);
         }
     } else if (PSA_ALG_IS_KEY_AGREEMENT(alg) &&
                !PSA_ALG_IS_RAW_KEY_AGREEMENT(alg)) {
diff --git a/scripts/generate_psa_constants.py b/scripts/generate_psa_constants.py
index 644fbad..d0d1f3f 100755
--- a/scripts/generate_psa_constants.py
+++ b/scripts/generate_psa_constants.py
@@ -104,33 +104,24 @@
             append(&buffer, buffer_size, &required_size,
                    "PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(", 33);
             length_modifier = PSA_MAC_TRUNCATED_LENGTH(alg);
-        } else {
-            if (core_alg != alg) {
-                append(&buffer, buffer_size, &required_size,
-                       "PSA_ALG_TRUNCATED_MAC(", 22);
-                length_modifier = PSA_MAC_TRUNCATED_LENGTH(alg);
-            }
+        } else if (core_alg != alg) {
+            append(&buffer, buffer_size, &required_size,
+                   "PSA_ALG_TRUNCATED_MAC(", 22);
+            length_modifier = PSA_MAC_TRUNCATED_LENGTH(alg);
         }
     } else if (PSA_ALG_IS_AEAD(alg)) {
         core_alg = PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG(alg);
-        if (alg & PSA_ALG_AEAD_AT_LEAST_THIS_LENGTH_FLAG) {
-            if (core_alg == 0) {
-                /* For unknown AEAD algorithms, there is no "default tag length". */
-                core_alg = alg;
-            } else {
-                append(&buffer, buffer_size, &required_size,
-                       "PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(", 43);
-                length_modifier = PSA_AEAD_TAG_LENGTH(alg);
-            }
-        } else {
-            if (core_alg == 0) {
-                /* For unknown AEAD algorithms, there is no "default tag length". */
-                core_alg = alg;
-            } else if (core_alg != alg) {
-                append(&buffer, buffer_size, &required_size,
-                       "PSA_ALG_AEAD_WITH_SHORTENED_TAG(", 32);
-                length_modifier = PSA_AEAD_TAG_LENGTH(alg);
-            }
+        if (core_alg == 0) {
+            /* For unknown AEAD algorithms, there is no "default tag length". */
+            core_alg = alg;
+        } else if (alg & PSA_ALG_AEAD_AT_LEAST_THIS_LENGTH_FLAG) {
+            append(&buffer, buffer_size, &required_size,
+                   "PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(", 43);
+            length_modifier = PSA_AEAD_TAG_LENGTH(alg);
+        } else if (core_alg != alg) {
+            append(&buffer, buffer_size, &required_size,
+                   "PSA_ALG_AEAD_WITH_SHORTENED_TAG(", 32);
+            length_modifier = PSA_AEAD_TAG_LENGTH(alg);
         }
     } else if (PSA_ALG_IS_KEY_AGREEMENT(alg) &&
                !PSA_ALG_IS_RAW_KEY_AGREEMENT(alg)) {
