diff --git a/ChangeLog b/ChangeLog
index 5d220f8..8c9d569 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
 
-0.9.22:	2006-Oct-16
+0.9.22:	2006-Oct-18
 
 	* Added -pdu=all and -pdu=<type> switches to asn1c.
 	* Added PER support for most known-multiplier string types:
@@ -8,6 +8,8 @@
 	  as well as REAL and OBJECT IDENTIFIER.
 	  TODO: SET, UniversalString and BMPString.
 	* Multiple enhancements by Daniele Varrazzo <daniele.varrazzo@gmail.com>
+	* Fixed explicit tagging of an in-lined constructed type.
+	  (Severity: low; Security impact: none).
 
 0.9.21:	2006-Sep-17
 
diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index 9d3cff5..bc9102e 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -2151,7 +2151,9 @@
 
 	OUT(",\n");
 	if(C99_MODE) OUT(".tag_mode = ");
-	if(expr->tag.tag_class) {
+	if((!(expr->expr_type &  ASN_CONSTR_MASK)
+	   || expr->expr_type == ASN_CONSTR_CHOICE)
+	&& expr->tag.tag_class) {
 		if(expr->tag.tag_mode == TM_IMPLICIT)
 		OUT("-1,\t/* IMPLICIT tag at current level */\n");
 		else
diff --git a/tests/119-per-strings-OK.asn1.-Pgen-PER b/tests/119-per-strings-OK.asn1.-Pgen-PER
index f5736d0..e94558e 100644
--- a/tests/119-per-strings-OK.asn1.-Pgen-PER
+++ b/tests/119-per-strings-OK.asn1.-Pgen-PER
@@ -801,7 +801,7 @@
 static asn_TYPE_member_t asn_MBR_PDU_1[] = {
 	{ ATF_POINTER, 21, offsetof(struct PDU, many),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_many_2,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* No PER visible constraints */
diff --git a/tests/22-tags-OK.asn1.-P b/tests/22-tags-OK.asn1.-P
new file mode 100644
index 0000000..988e729
--- /dev/null
+++ b/tests/22-tags-OK.asn1.-P
@@ -0,0 +1,170 @@
+
+/*** <<< INCLUDES [T1] >>> ***/
+
+#include <INTEGER.h>
+#include <UTF8String.h>
+#include <IA5String.h>
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+/*** <<< DEPS [T1] >>> ***/
+
+typedef enum b_PR {
+	b_PR_NOTHING,	/* No components present */
+	b_PR_i,
+	b_PR_n
+} b_PR;
+
+/*** <<< TYPE-DECLS [T1] >>> ***/
+
+typedef struct T1 {
+	INTEGER_t	 a;
+	struct b {
+		b_PR present;
+		union T1__b_u {
+			INTEGER_t	 i;
+			IA5String_t	 n;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} b;
+	UTF8String_t	 c;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} T1_t;
+
+/*** <<< FUNC-DECLS [T1] >>> ***/
+
+extern asn_TYPE_descriptor_t asn_DEF_T1;
+
+/*** <<< STAT-DEFS [T1] >>> ***/
+
+static asn_TYPE_member_t asn_MBR_b_3[] = {
+	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.i),
+		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.type = &asn_DEF_INTEGER,
+		.memb_constraints = 0,	/* Defer constraints checking to the member type */
+		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
+		.default_value = 0,
+		.name = "i"
+		},
+	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.n),
+		.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.type = &asn_DEF_IA5String,
+		.memb_constraints = 0,	/* Defer constraints checking to the member type */
+		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
+		.default_value = 0,
+		.name = "n"
+		},
+};
+static asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* i at 17 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* n at 18 */
+};
+static asn_CHOICE_specifics_t asn_SPC_b_specs_3 = {
+	sizeof(struct b),
+	offsetof(struct b, _asn_ctx),
+	offsetof(struct b, present),
+	sizeof(((struct b *)0)->present),
+	asn_MAP_b_tag2el_3,
+	2,	/* Count of tags in the map */
+	.canonical_order = 0,
+	.ext_start = -1	/* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_b_3 = {
+	"b",
+	"b",
+	CHOICE_free,
+	CHOICE_print,
+	CHOICE_constraint,
+	CHOICE_decode_ber,
+	CHOICE_encode_der,
+	CHOICE_decode_xer,
+	CHOICE_encode_xer,
+	0, 0,	/* No PER support, use "-gen-PER" to enable */
+	CHOICE_outmost_tag,
+	0,	/* No effective tags (pointer) */
+	0,	/* No effective tags (count) */
+	0,	/* No tags (pointer) */
+	0,	/* No tags (count) */
+	0,	/* No PER visible constraints */
+	asn_MBR_b_3,
+	2,	/* Elements count */
+	&asn_SPC_b_specs_3	/* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_T1_1[] = {
+	{ ATF_NOFLAGS, 0, offsetof(struct T1, a),
+		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.type = &asn_DEF_INTEGER,
+		.memb_constraints = 0,	/* Defer constraints checking to the member type */
+		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
+		.default_value = 0,
+		.name = "a"
+		},
+	{ ATF_NOFLAGS, 0, offsetof(struct T1, b),
+		.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+		.tag_mode = +1,	/* EXPLICIT tag at current level */
+		.type = &asn_DEF_b_3,
+		.memb_constraints = 0,	/* Defer constraints checking to the member type */
+		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
+		.default_value = 0,
+		.name = "b"
+		},
+	{ ATF_NOFLAGS, 0, offsetof(struct T1, c),
+		.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.type = &asn_DEF_UTF8String,
+		.memb_constraints = 0,	/* Defer constraints checking to the member type */
+		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
+		.default_value = 0,
+		.name = "c"
+		},
+};
+static ber_tlv_tag_t asn_DEF_T1_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_T1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 15 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b at 17 */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c at 20 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_T1_specs_1 = {
+	sizeof(struct T1),
+	offsetof(struct T1, _asn_ctx),
+	asn_MAP_T1_tag2el_1,
+	3,	/* Count of tags in the map */
+	0, 0, 0,	/* Optional elements (not needed) */
+	-1,	/* Start extensions */
+	-1	/* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_T1 = {
+	"T1",
+	"T1",
+	SEQUENCE_free,
+	SEQUENCE_print,
+	SEQUENCE_constraint,
+	SEQUENCE_decode_ber,
+	SEQUENCE_encode_der,
+	SEQUENCE_decode_xer,
+	SEQUENCE_encode_xer,
+	0, 0,	/* No PER support, use "-gen-PER" to enable */
+	0,	/* Use generic outmost tag fetcher */
+	asn_DEF_T1_tags_1,
+	sizeof(asn_DEF_T1_tags_1)
+		/sizeof(asn_DEF_T1_tags_1[0]), /* 1 */
+	asn_DEF_T1_tags_1,	/* Same as above */
+	sizeof(asn_DEF_T1_tags_1)
+		/sizeof(asn_DEF_T1_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
+	asn_MBR_T1_1,
+	3,	/* Elements count */
+	&asn_SPC_T1_specs_1	/* Additional specs */
+};
+
diff --git a/tests/31-set-of-OK.asn1.-P b/tests/31-set-of-OK.asn1.-P
index 3a8cb1b..576f5c4 100644
--- a/tests/31-set-of-OK.asn1.-P
+++ b/tests/31-set-of-OK.asn1.-P
@@ -442,7 +442,7 @@
 static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
 	{ ATF_POINTER, 3, offsetof(struct Stuff, trees),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_trees_2,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
@@ -451,7 +451,7 @@
 		},
 	{ ATF_POINTER, 2, offsetof(struct Stuff, anything),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_anything_4,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
diff --git a/tests/32-sequence-of-OK.asn1.-P b/tests/32-sequence-of-OK.asn1.-P
index 84f0ce0..9037596 100644
--- a/tests/32-sequence-of-OK.asn1.-P
+++ b/tests/32-sequence-of-OK.asn1.-P
@@ -294,7 +294,7 @@
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct SeqWithMandatory, seqOfMan),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-		.tag_mode = +1,	/* EXPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_seqOfMan_3,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
@@ -436,7 +436,7 @@
 		},
 	{ ATF_POINTER, 1, offsetof(struct SeqWithOptional, seqOfOpt),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-		.tag_mode = +1,	/* EXPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_seqOfOpt_3,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
diff --git a/tests/43-recursion-OK.asn1.-P b/tests/43-recursion-OK.asn1.-P
index 7a0b0d3..3f2555c 100644
--- a/tests/43-recursion-OK.asn1.-P
+++ b/tests/43-recursion-OK.asn1.-P
@@ -321,7 +321,7 @@
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.or),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_or_3,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
diff --git a/tests/92-circular-loops-OK.asn1.-P b/tests/92-circular-loops-OK.asn1.-P
index 5570aa5..e479edc 100644
--- a/tests/92-circular-loops-OK.asn1.-P
+++ b/tests/92-circular-loops-OK.asn1.-P
@@ -546,7 +546,7 @@
 static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_a_2,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
@@ -564,7 +564,7 @@
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.c),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_c_5,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
@@ -1129,7 +1129,7 @@
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_b_3,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
diff --git a/tests/92-circular-loops-OK.asn1.-Pfindirect-choice b/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
index 9c9170b..939056e 100644
--- a/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
+++ b/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
@@ -547,7 +547,7 @@
 static asn_TYPE_member_t asn_MBR_Choice3_1[] = {
 	{ ATF_POINTER, 0, offsetof(struct Choice3, choice.a),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_a_2,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
@@ -565,7 +565,7 @@
 		},
 	{ ATF_POINTER, 0, offsetof(struct Choice3, choice.c),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_c_5,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
@@ -1130,7 +1130,7 @@
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Alpha, b),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_b_3,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
diff --git a/tests/93-asn1c-controls-OK.asn1.-P b/tests/93-asn1c-controls-OK.asn1.-P
index d778a7b..429b41b 100644
--- a/tests/93-asn1c-controls-OK.asn1.-P
+++ b/tests/93-asn1c-controls-OK.asn1.-P
@@ -289,7 +289,7 @@
 static asn_TYPE_member_t asn_MBR_Choice_1[] = {
 	{ ATF_POINTER, 0, offsetof(struct Choice, choice.setof),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-		.tag_mode = -1,	/* IMPLICIT tag at current level */
+		.tag_mode = 0,
 		.type = &asn_DEF_setof_2,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
