extensibility fix
diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index 4894839..d8aa01f 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -309,8 +309,8 @@
 	asn1p_expr_t *expr = arg->expr;
 	asn1p_expr_t *v;
 	int elements;	/* Number of elements */
-	int ext_start = -1;
-	int ext_stop = -1;
+	int ext_start = -2;
+	int ext_stop = -2;
 	tag2el_t *tag2el = NULL;
 	int tag2el_count = 0;
 	int tags_count;
@@ -446,9 +446,9 @@
 		OUT("0, 0, 0,\t/* Optional elements (not needed) */\n");
 	}
 	OUT("%d,\t/* Start extensions */\n",
-			ext_start);
+			ext_start<0 ? -1 : ext_start);
 	OUT("%d\t/* Stop extensions */\n",
-			(ext_stop<ext_start)?elements+1:ext_stop, ext_stop);
+			(ext_stop<ext_start)?elements+1:(ext_stop<0?-1:ext_stop));
 	INDENT(-1);
 	OUT("};\n");