diff --git a/examples/sample.source.MHEG5/Makefile b/examples/sample.source.MHEG5/Makefile
index 53490ef..7dfede2 100644
--- a/examples/sample.source.MHEG5/Makefile
+++ b/examples/sample.source.MHEG5/Makefile
@@ -490,62 +490,45 @@
 	../sample.makefile.regen
 
 check: ${TARGET}
-	@if test -f ./sample-InterchangedObject-1.[db]er ; then \
-	for f in ./sample-InterchangedObject-*.[db]er; do \
-	echo "Recoding $$f into XER and back..."; \
-	./${TARGET} -iber -oxer -b 1 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -iber -oxer -b 17 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -iber -oxer -b 33 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -iber -oxer -b 980 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
+	@if test -f sample-InterchangedObject-1.[db]er ; then \
+	for f in sample-InterchangedObject-*.[db]er; do \
+	for b in 1 17 33 980 8192; do \
+	echo "Recoding $$f into XER and back ($$b)..."; \
+	./${TARGET} -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
+	./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
 	diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 2; \
 	rm -f ./.tmp.[12].$$$$; \
-	done; fi
-	@if test -f ./sample-InterchangedObject-1.xer ; then \
-	for f in ./sample-InterchangedObject-*.xer; do \
-	echo "Recoding $$f into DER and back..."; \
-	./${TARGET} -ixer -oder -b 1 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -ixer -oder -b 17 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -ixer -oder -b 33 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -ixer -oder -b 980 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
+	done; done; fi
+	@if test -f sample-InterchangedObject-1.xer ; then \
+	for f in sample-InterchangedObject-*.xer; do \
+	for b in 1 17 33 980 8192; do \
+	echo "Recoding $$f into DER and back ($$b)..."; \
+	./${TARGET} -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
+	./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
 	diff $$f ./.tmp.2.$$$$ || exit 2; \
 	rm -f ./.tmp.[12].$$$$; \
-	done; fi
-	@if test -f ./sample-InterchangedObject-1.per ; then \
-	for f in ./sample-InterchangedObject-[1-9].per; do \
-	echo "Recoding $$f into DER into XER and back..."; \
-	./${TARGET} -iper -oxer -b 1 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -iper -oxer -b 17 $$f > ./.tmp.2.$$$$ || exit 2; \
-	./${TARGET} -iper -oxer -b 33 $$f > ./.tmp.3.$$$$ || exit 2; \
-	./${TARGET} -iper -oxer -b 980 $$f > ./.tmp.4.$$$$ || exit 2; \
-	diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 2; \
-	diff ./.tmp.2.$$$$ ./.tmp.3.$$$$ || exit 2; \
-	diff ./.tmp.3.$$$$ ./.tmp.4.$$$$ || exit 2; \
-	./${TARGET} -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
-	./${TARGET} -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 2; \
+	done; done; fi
+	@if test -f sample-InterchangedObject-1.per ; then \
+	for f in sample-InterchangedObject-[1-9].per; do \
+	for b in 1 17 33 980 8192; do \
+	echo "Recoding $$f into DER into XER and back ($$b)..."; \
+	./${TARGET} -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
+	./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
+	./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 2; \
 	diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 2; \
-	rm -f ./.tmp.[1234].$$$$; \
-	done; fi
-	@if test -f ./sample-InterchangedObject-1-padded.per ; then \
-	for f in ./sample-InterchangedObject-[1-9]-padded.per; do \
-	echo "Recoding byte-padded $$f into DER into XER and back..."; \
-	./${TARGET} -per-padded -iper -oxer -b 1 $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -per-padded -iper -oxer -b 17 $$f > ./.tmp.2.$$$$ || exit 2; \
-	./${TARGET} -per-padded -iper -oxer -b 33 $$f > ./.tmp.3.$$$$ || exit 2; \
-	./${TARGET} -per-padded -iper -oxer -b 980 $$f > ./.tmp.4.$$$$ || exit 2; \
-	diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 2; \
-	diff ./.tmp.2.$$$$ ./.tmp.3.$$$$ || exit 2; \
-	diff ./.tmp.3.$$$$ ./.tmp.4.$$$$ || exit 2; \
-	./${TARGET} -per-padded -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
-	./${TARGET} -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
-	./${TARGET} -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 2; \
+	rm -f ./.tmp.[123].$$$$; \
+	done; done; fi
+	@if test -f sample-InterchangedObject-1-padded.per ; then \
+	for f in sample-*-[1-9]-padded.per; do \
+	pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
+	for b in 1 17 33 980 8192; do \
+	echo "Recoding byte-padded $$f into DER into XER and back ($$b)..."; \
+	./${TARGET} -b $$b -per-padded -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
+	./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 2; \
+	./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 2; \
 	diff $$f ./.tmp.1.$$$$ || exit 2; \
-	rm -f ./.tmp.[1234].$$$$; \
-	done; fi
+	rm -f ./.tmp.[12].$$$$; \
+	done; done; fi
 	@echo ================
 	@echo All tests passed
 	@echo ================
