more XER decoding

diff --git a/skeletons/constr_CHOICE.c b/skeletons/constr_CHOICE.c
index 0222abf..7799145 100644
--- a/skeletons/constr_CHOICE.c
+++ b/skeletons/constr_CHOICE.c
@@ -657,7 +657,6 @@
 		}
 
 		tcv = xer_check_tag(buf_ptr, ch_size, xml_tag);
-		printf("XER/CHOICE tcv=%d ph=%d\n", tcv, ctx->phase);
 		switch(tcv) {
 		case XCT_BOTH:
 			break;	/* No CHOICE? */
@@ -695,7 +694,7 @@
 					ctx->phase = 2;
 					break;
 				case XCT_UNEXPECTED:
-					continue;	/* or continue; */
+					continue;
 				case XCT_CLOSING:
 				default:
 					edx = td->elements_count;
@@ -703,8 +702,9 @@
 				}
 				break;
 			}
-			if(edx == td->elements_count) break;
-			continue;
+			if(edx != td->elements_count)
+				continue;
+			/* Fall through */
 		default:
 			break;
 		}