diff --git a/skeletons/tests/check-OIDs.c b/skeletons/tests/check-OIDs.c
index 05d34ee..4961250 100644
--- a/skeletons/tests/check-OIDs.c
+++ b/skeletons/tests/check-OIDs.c
@@ -47,17 +47,20 @@
 	alen = OBJECT_IDENTIFIER_get_arcs(oid,
 		arcs, sizeof(arcs[0]), sizeof(arcs)/sizeof(arcs[0]));
 	assert(alen > 0);
-	assert(alen == ck_len);
 
+	printf("OBJECT_IDENTIFIER_get_arcs() => {");
 	/*
 	 * Make sure they are equivalent.
 	 */
-	printf("OBJECT_IDENTIFIER_get_arcs() => {");
 	for(i = 0; i < alen; i++) {
 		printf(" %lu", arcs[i]);
-		assert(arcs[i] == (unsigned long)ck_buf[i]);
+		if(alen == ck_len) {
+			assert(arcs[i] == (unsigned long)ck_buf[i]);
+		}
 	}
 	printf(" }\n");
+	assert(alen == ck_len);
+
 }
 
 static void
@@ -278,12 +281,22 @@
 	int buf15_check[] = { 0, 0, 0xf000 };
 	int buf16_check[] = { 0, 0, 0, 1, 0 };
 	int buf17_check[] = { 2, 0xffffffAf, 0xff00ff00, 0 };
+	int buf18_check[] = { 2, 2, 1, 1 };
+
+	/* { joint-iso-itu-t 2 1 1 } */
+	uint8_t buf19[] = {
+		0x06,	/* OBJECT IDENTIFIER */
+		0x03,	/* Length */
+		0x52, 0x01, 0x01
+	};
+	int buf19_check[] = { 2, 2, 1, 1 };
 
 
 	CHECK_OID(1);	/* buf1, buf1_check */
 	CHECK_ROID(2);	/* buf2, buf2_check */
 	CHECK_OID(3);	/* buf3, buf3_check */
 	CHECK_OID(4);	/* buf4, buf4_check */
+	CHECK_OID(19);	/* buf19, buf19_check */
 
 	CHECK_REGEN(5);	/* Regenerate RELATIVE-OID */
 	CHECK_REGEN(6);
@@ -306,6 +319,7 @@
 	CHECK_REGEN_OID(15);
 	CHECK_REGEN_OID(16);
 	CHECK_REGEN_OID(17);
+	CHECK_REGEN_OID(18);
 
 	for(i = 0; i < 100000; i++) {
 		int bufA_check[3] = { 2, i, rand() };
