diff --git a/ChangeLog b/ChangeLog
index 24aff75..da52c44 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,11 @@
 
 0.9.10:	2005-Feb-24
 
-	* Fixes #1150856 (vvvy@users.sourceforge.net).
+	* Fixed #1150856.
+	  Reported by <vvvy@users.sourceforge.net>.
+	* Fixed XER XMLValueList encoding and decoding.
+	  (Test case 70) (Severity: high, Secruity impact: low)
+	  Reported by <siden@ul-gsm.ru>.
 
 0.9.9:	2005-Feb-22
 
@@ -42,8 +46,8 @@
 
 0.9.7:	2004-Oct-11
 
-	* Finished CANONICAL-XER implementation by adding SET and SET OF
-	  canonical ordering support.
+	* Finished CXER implementation by adding SET and SET OF canonical
+	  ordering support.
 	* Fixed unber(1) limits controlling logic.
 	* Removed C99'izm from the x509dump, now understood by older compilers.
 	* Enhanced UTF8String constraint validation, now it checks
diff --git a/skeletons/constr_SEQUENCE_OF.c b/skeletons/constr_SEQUENCE_OF.c
index f126d78..027f5ec 100644
--- a/skeletons/constr_SEQUENCE_OF.c
+++ b/skeletons/constr_SEQUENCE_OF.c
@@ -117,6 +117,13 @@
 		tmper = element->type->xer_encoder(element->type, memb_ptr,
 				ilevel + 1, flags, cb, app_key);
 		if(tmper.encoded == -1) return tmper;
+                if(tmper.encoded == 0 && specs->as_XMLValueList) {
+                        const char *name = (*element->name)
+                                ? element->name : element->type->xml_tag;
+			size_t len = strlen(name);
+			if(!xcan) _i_ASN_TEXT_INDENT(1, ilevel + 1);
+			_ASN_CALLBACK3("<", 1, name, len, "/>", 2);
+                }
 
 		if(mname) {
 			_ASN_CALLBACK3("</", 2, mname, mlen, ">", 1);
diff --git a/skeletons/constr_SET_OF.c b/skeletons/constr_SET_OF.c
index 37268dc..931aab2 100644
--- a/skeletons/constr_SET_OF.c
+++ b/skeletons/constr_SET_OF.c
@@ -469,9 +469,8 @@
 	 */
 	asn_SET_OF_specifics_t *specs = (asn_SET_OF_specifics_t *)td->specifics;
 	asn_TYPE_member_t *element = td->elements;
-	const char *elm_tag = specs->as_XMLValueList
-		? 0 : ((*element->name)
-		? element->name : element->type->xml_tag);
+	const char *elm_tag = ((*element->name)
+			? element->name : element->type->xml_tag);
 	const char *xml_tag = opt_mname ? opt_mname : td->xml_tag;
 
 	/*
@@ -578,23 +577,12 @@
 		case XCT_UNKNOWN_BO:
 
 			ASN_DEBUG("XER/SET OF: tcv=%d, ph=%d", tcv, ctx->phase);
-			if(ctx->phase != 1)
-				break;	/* Really unexpected */
-
-			/*
-			 * Search which member corresponds to this tag.
-			 */
-			tcv = xer_check_tag(buf_ptr, ch_size, elm_tag);
-			switch(tcv) {
-			case XCT_BOTH:
-			case XCT_OPENING:
+			if(ctx->phase == 1) {
 				/*
-				 * Process this member.
+				 * Process a single possible member.
 				 */
 				ctx->phase = 2;
 				continue;
-			default:
-				break;	/* Phase out */
 			}
 			/* Fall through */
 		default:
@@ -703,6 +691,13 @@
 			sptr = tmper.structure_ptr;
 			goto cb_failed;
 		}
+		if(tmper.encoded == 0 && specs->as_XMLValueList) {
+			const char *name = (*element->name)
+				? element->name : element->type->xml_tag;
+			size_t len = strlen(name);
+			if(!xcan) _i_ASN_TEXT_INDENT(1, ilevel + 1);
+			_ASN_CALLBACK3("<", 1, name, len, "/>", 2);
+		}
 
 		if(mname) {
 			_ASN_CALLBACK3("</", 2, mname, mlen, ">", 1);
diff --git a/skeletons/xer_decoder.c b/skeletons/xer_decoder.c
index 9127679..82c084e 100644
--- a/skeletons/xer_decoder.c
+++ b/skeletons/xer_decoder.c
@@ -287,7 +287,7 @@
 			break;		/* Unexpected tag */
 		}
 
-		ASN_DEBUG("Unexpected XML tag");
+		ASN_DEBUG("Unexpected XML tag (expected \"%s\")", xml_tag);
 		break;	/* Dark and mysterious things have just happened */
 	}
 
