diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index 20492c0734886f3ce069a36a0cbda634b653371e..15616ea25315a13f74e156897e5b90628a2e38c4 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -246,12 +246,12 @@ asn1c_lang_C_type_BIT_STRING(arg_t *arg) {
 			out_name_chain(arg, ONC_avoid_keywords);
 		OUT(" {\n");
 		TQ_FOR(v, &(expr->members), next) {
-			eidx++;
 			if(v->expr_type != A1TC_UNIVERVAL) {
 				OUT("/* Unexpected BIT STRING element: %s */\n",
 				v->Identifier);
 				continue;
 			}
+			eidx++;
 			OUT("\t");
 			out_name_chain(arg, ONC_noflags);
 			OUT("_%s", MKID(v));