diff --git a/tests/110-param-3-OK.asn1.-Pfwide-types b/tests/110-param-3-OK.asn1.-Pfwide-types
index 5ced128..a47c069 100644
--- a/tests/110-param-3-OK.asn1.-Pfwide-types
+++ b/tests/110-param-3-OK.asn1.-Pfwide-types
@@ -149,10 +149,10 @@
 		.name = "field"
 		},
 };
-static ber_tlv_tag_t asn_DEF_Flag_16P0_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_Flag_16P0_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_TYPE_tag2member_t asn_MAP_Flag_16P0_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_Flag_16P0_tag2el_1[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* field */
 };
 static asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1 = {
@@ -208,17 +208,17 @@
 		return (value == 5);
 	}
 }
-static asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = {
+static const asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = {
 	{ 3,	3,	"red" },
 	{ 4,	5,	"green" },
 	{ 5,	4,	"blue" }
 };
-static unsigned int asn_MAP_field_enum2value_7[] = {
+static const unsigned int asn_MAP_field_enum2value_7[] = {
 	2,	/* blue(5) */
 	1,	/* green(4) */
 	0	/* red(3) */
 };
-static asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
+static const asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
 	asn_MAP_field_value2enum_7,	/* "tag" => N; sorted by tag */
 	asn_MAP_field_enum2value_7,	/* N => "tag"; sorted by N */
 	3,	/* Number of elements in the maps */
@@ -227,7 +227,7 @@
 	0,	/* Native long size */
 	0
 };
-static ber_tlv_tag_t asn_DEF_field_tags_7[] = {
+static const ber_tlv_tag_t asn_DEF_field_tags_7[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
 };
 static /* Use -fall-defs-global to expose */
@@ -265,10 +265,10 @@
 		.name = "field"
 		},
 };
-static ber_tlv_tag_t asn_DEF_Flag_16P1_tags_6[] = {
+static const ber_tlv_tag_t asn_DEF_Flag_16P1_tags_6[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
+static const asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field */
 };
 static asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
@@ -403,7 +403,7 @@
 
 /*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
@@ -528,7 +528,7 @@
 
 /*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
