diff --git a/crypto/asn1/tasn_dec.c b/crypto/asn1/tasn_dec.c
index de87791..5eb6e6e 100644
--- a/crypto/asn1/tasn_dec.c
+++ b/crypto/asn1/tasn_dec.c
@@ -377,7 +377,7 @@
         if (i == (it->tcount - 1)) {
           isopt = 0;
         } else {
-          isopt = (char)(seqtt->flags & ASN1_TFLG_OPTIONAL);
+          isopt = (seqtt->flags & ASN1_TFLG_OPTIONAL) != 0;
         }
         // attempt to read in field, allowing each to be OPTIONAL
 
@@ -459,14 +459,14 @@
 static int asn1_template_ex_d2i(ASN1_VALUE **val, const unsigned char **in,
                                 long inlen, const ASN1_TEMPLATE *tt, char opt,
                                 int depth) {
-  int flags, aclass;
+  int aclass;
   int ret;
   long len;
   const unsigned char *p, *q;
   if (!val) {
     return 0;
   }
-  flags = tt->flags;
+  uint32_t flags = tt->flags;
   aclass = flags & ASN1_TFLG_TAG_CLASS;
 
   p = *in;
@@ -517,13 +517,13 @@
 static int asn1_template_noexp_d2i(ASN1_VALUE **val, const unsigned char **in,
                                    long len, const ASN1_TEMPLATE *tt, char opt,
                                    int depth) {
-  int flags, aclass;
+  int aclass;
   int ret;
   const unsigned char *p;
   if (!val) {
     return 0;
   }
-  flags = tt->flags;
+  uint32_t flags = tt->flags;
   aclass = flags & ASN1_TFLG_TAG_CLASS;
 
   p = *in;
diff --git a/crypto/asn1/tasn_enc.c b/crypto/asn1/tasn_enc.c
index 39a3d52..5b9a8d4 100644
--- a/crypto/asn1/tasn_enc.c
+++ b/crypto/asn1/tasn_enc.c
@@ -263,9 +263,9 @@
 // taking an |optional| parameter, it uses the |ASN1_TFLG_OPTIONAL| flag.
 static int asn1_template_ex_i2d(ASN1_VALUE **pval, unsigned char **out,
                                 const ASN1_TEMPLATE *tt, int tag, int iclass) {
-  int i, ret, flags, ttag, tclass;
+  int i, ret, ttag, tclass;
   size_t j;
-  flags = tt->flags;
+  uint32_t flags = tt->flags;
 
   // Historically, |iclass| was repurposed to pass additional flags into the
   // encoding process.
diff --git a/include/openssl/asn1t.h b/include/openssl/asn1t.h
index 105cee8..b32fe34 100644
--- a/include/openssl/asn1t.h
+++ b/include/openssl/asn1t.h
@@ -348,7 +348,7 @@
  */
 
 struct ASN1_TEMPLATE_st {
-unsigned long flags;		/* Various flags */
+uint32_t flags;		/* Various flags */
 long tag;			/* tag, not used if no tagging */
 unsigned long offset;		/* Offset of this field in structure */
 const char *field_name;		/* Field name */
@@ -366,7 +366,7 @@
 typedef struct asn1_must_be_null_st ASN1_MUST_BE_NULL;
 
 struct ASN1_ADB_st {
-	unsigned long flags;	/* Various flags */
+	uint32_t flags;	/* Various flags */
 	unsigned long offset;	/* Offset of selector field */
 	ASN1_MUST_BE_NULL *unused;
 	const ASN1_ADB_TABLE *tbl;	/* Table of possible types */
@@ -563,7 +563,7 @@
 
 typedef struct ASN1_AUX_st {
 	void *app_data;
-	int flags;
+	uint32_t flags;
 	int ref_offset;		/* Offset of reference value */
 	ASN1_aux_cb *asn1_cb;
 	int enc_offset;		/* Offset of ASN1_ENCODING structure */
