diff --git a/lib/x509asn1.c b/lib/x509asn1.c
index c3ddc3834c3a9c61946c50c95575040919e6e1e7..e18218d3d34bbc5ba06db67309cd2c05dd4c90ab 100644
--- a/lib/x509asn1.c
+++ b/lib/x509asn1.c
@@ -297,8 +297,10 @@ utf8asn1str(char * * to, int type, const char * from, const char * end)
       case 4:
         wc = (wc << 8) | *(const unsigned char *) from++;
         wc = (wc << 8) | *(const unsigned char *) from++;
+        /* fallthrough */
       case 2:
         wc = (wc << 8) | *(const unsigned char *) from++;
+        /* fallthrough */
       default: /* case 1: */
         wc = (wc << 8) | *(const unsigned char *) from++;
       }