choice tagging fix

diff --git a/libasn1fix/asn1fix_tags.c b/libasn1fix/asn1fix_tags.c
index ed08513..ff662cc 100644
--- a/libasn1fix/asn1fix_tags.c
+++ b/libasn1fix/asn1fix_tags.c
@@ -44,6 +44,8 @@
 			if(expr->expr_type == ASN_TYPE_ANY
 				&& (flags & AFT_IMAGINARY_ANY))
 				tt.tag_value = -1;
+			else if(expr->expr_type == ASN_CONSTR_CHOICE)
+				return count ? count : -1;
 			else
 				return -1;
 		}
diff --git a/tests/62-any-OK.asn1 b/tests/62-any-OK.asn1
index f3d784c..0e69e01 100644
--- a/tests/62-any-OK.asn1
+++ b/tests/62-any-OK.asn1
@@ -14,7 +14,8 @@
 	T ::= CHOICE {
 		s1 T1-ext,
 		s2 T2,
-		s3 T3
+		s3 T3,
+		s4 T4
 	}
 
 	T1-ext ::= SEQUENCE {
@@ -37,4 +38,8 @@
 		m2  [1] BOOLEAN
 	}
 
+	T4 ::= [53] CHOICE {
+		m1  [1] IMPLICIT OCTET STRING
+	}
+
 END
diff --git a/tests/62-any-OK.asn1.-EF b/tests/62-any-OK.asn1.-EF
index 4c8f5c4..a7917fc 100644
--- a/tests/62-any-OK.asn1.-EF
+++ b/tests/62-any-OK.asn1.-EF
@@ -7,7 +7,8 @@
 T ::= CHOICE {
     s1	 T1-ext,
     s2	 T2,
-    s3	 T3
+    s3	 T3,
+    s4	 T4
 }
 
 T1-ext ::= SEQUENCE {
@@ -30,4 +31,8 @@
     m2	 [1] IMPLICIT BOOLEAN
 }
 
+T4 ::= [53] EXPLICIT CHOICE {
+    m1	 [1] IMPLICIT OCTET STRING
+}
+
 END