diff --git a/tests/19-param-OK.asn1.-P b/tests/19-param-OK.asn1.-P
index d52ab07..6d3b865 100644
--- a/tests/19-param-OK.asn1.-P
+++ b/tests/19-param-OK.asn1.-P
@@ -241,8 +241,8 @@
 	int *table = permitted_alphabet_table_1;
 	/* The underlying type is IA5String */
 	const IA5String_t *st = sptr;
-	uint8_t *ch = st->buf;
-	uint8_t *end = ch + st->size;
+	const uint8_t *ch = st->buf;
+	const uint8_t *end = ch + st->size;
 	
 	for(; ch < end; ch++) {
 		uint8_t cv = *ch;
@@ -255,9 +255,9 @@
 /*** <<< CODE [RelativeDistinguishedName] >>> ***/
 
 static int
-memb_IA5String_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
+memb_IA5String_1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_consume_bytes_f *app_errlog, void *app_key) {
-	const (null)_t *st = sptr;
+	const IA5String_t *st = sptr;
 	
 	if(!sptr) {
 		_ASN_ERRLOG(app_errlog, app_key,
@@ -284,7 +284,7 @@
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
 		.tag_mode = 0,
 		.type = (void *)&asn1_DEF_IA5String,
-		.memb_constraints = memb_IA5String_constraint,
+		.memb_constraints = memb_IA5String_1_constraint,
 		.name = ""
 		},
 };
diff --git a/tests/42-real-life-OK.asn1.-PR b/tests/42-real-life-OK.asn1.-PR
index 2bd4579..aaa2e9f 100644
--- a/tests/42-real-life-OK.asn1.-PR
+++ b/tests/42-real-life-OK.asn1.-PR
@@ -34,7 +34,7 @@
 /*** <<< CODE [LogLine] >>> ***/
 
 static int
-memb_varsets_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
+memb_varsets_1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_consume_bytes_f *app_errlog, void *app_key) {
 	size_t size;
 	
@@ -109,7 +109,7 @@
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
 		.type = (void *)&asn1_DEF_varsets,
-		.memb_constraints = memb_varsets_constraint,
+		.memb_constraints = memb_varsets_1_constraint,
 		.name = "varsets"
 		},
 };
@@ -182,7 +182,7 @@
 /*** <<< CODE [VariablePartSet] >>> ***/
 
 static int
-memb_vparts_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
+memb_vparts_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_consume_bytes_f *app_errlog, void *app_key) {
 	
 	if(!sptr) {
@@ -242,7 +242,7 @@
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
 		.type = (void *)&asn1_DEF_vparts,
-		.memb_constraints = memb_vparts_constraint,
+		.memb_constraints = memb_vparts_2_constraint,
 		.name = "vparts"
 		},
 	{ 0, offsetof(struct VariablePartSet, resolution),
@@ -341,7 +341,7 @@
 /*** <<< CODE [VariablePart] >>> ***/
 
 static int
-memb_vset_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
+memb_vset_3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_consume_bytes_f *app_errlog, void *app_key) {
 	size_t size;
 	
@@ -458,7 +458,7 @@
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
 		.tag_mode = 0,
 		.type = (void *)&asn1_DEF_vset,
-		.memb_constraints = memb_vset_constraint,
+		.memb_constraints = memb_vset_3_constraint,
 		.name = "vset"
 		},
 	{ 0, offsetof(struct VariablePart, choice.vrange),
diff --git a/tests/46-redefine-OK.asn1.-PR b/tests/46-redefine-OK.asn1.-PR
index ee7aceb..ad54f87 100644
--- a/tests/46-redefine-OK.asn1.-PR
+++ b/tests/46-redefine-OK.asn1.-PR
@@ -8,7 +8,6 @@
 
 typedef OCTET_STRING_t	 PrimitiveType_t;
 
-
 /*** <<< FUNC-DECLS [PrimitiveType] >>> ***/
 
 extern asn1_TYPE_descriptor_t asn1_DEF_PrimitiveType;
@@ -172,7 +171,6 @@
 
 typedef ConstructedType_t	 T_t;
 
-
 /*** <<< FUNC-DECLS [T] >>> ***/
 
 extern asn1_TYPE_descriptor_t asn1_DEF_T;
