optionality handling
diff --git a/asn1c/tests/check-126.-gen-PER.c b/asn1c/tests/check-126.-gen-PER.c
index 8b590b1..6a8e866 100644
--- a/asn1c/tests/check-126.-gen-PER.c
+++ b/asn1c/tests/check-126.-gen-PER.c
@@ -288,7 +288,10 @@
 	fwrite(buf, 1, buf_offset, stderr);
 	fprintf(stderr, "=== end ===\n");
 
-	assert(xer_encoding_equal(fbuf, size, buf, buf_offset));
+	if(fname[strlen(fname) - 4] == 'X')
+		assert(!xer_encoding_equal(fbuf, size, buf, buf_offset));
+	else
+		assert(xer_encoding_equal(fbuf, size, buf, buf_offset));
 
 	asn_DEF_PDU.free_struct(&asn_DEF_PDU, st, 0);
 }