diff --git a/src/Cose.c b/src/Cose.c
index 7524ec0..9cbac96 100644
--- a/src/Cose.c
+++ b/src/Cose.c
@@ -34,7 +34,6 @@
 
 	pobj->m_cborRoot = pobj->m_cbor = cn_cbor_array_create(CBOR_CONTEXT_PARAM_COMMA &errState);
 	CHECK_CONDITION_CBOR(pobj->m_cbor != NULL, errState);
-	pobj->m_cborRoot = NULL;
 	pobj->m_ownMsg = 1;
 
 #ifdef TAG_IN_ARRAY
@@ -53,13 +52,13 @@
 	CHECK_CONDITION_CBOR(_COSE_array_replace(pobj, pobj->m_unprotectMap, INDEX_UNPROTECTED, CBOR_CONTEXT_PARAM_COMMA &errState), errState);
 	pobj->m_ownUnprotectedMap = false;
 
-	/*
+	
 	if (!(flags & COSE_INIT_FLAGS_NO_CBOR_TAG)) {
 		cn_cbor_errback cbor_error;
 		cn_cbor * cn = cn_cbor_tag_create(msgType, pobj->m_cborRoot, CBOR_CONTEXT_PARAM_COMMA &cbor_error);
 		CHECK_CONDITION_CBOR(cn != NULL, cbor_error);
 		pobj->m_cborRoot = cn;
-	}*/
+	}
 
 	pobj->m_refCount = 1;
 
diff --git a/src/Recipient.c b/src/Recipient.c
index 3f8ea04..e5cd61c 100644
--- a/src/Recipient.c
+++ b/src/Recipient.c
@@ -38,7 +38,7 @@
 	COSE_RecipientInfo * pobj = (COSE_RecipientInfo *)COSE_CALLOC(1, sizeof(COSE_RecipientInfo), context);
 	CHECK_CONDITION(pobj != NULL, COSE_ERR_OUT_OF_MEMORY);
 
-	if (!_COSE_Init(flags, &pobj->m_encrypt.m_message, COSE_recipient_object, CBOR_CONTEXT_PARAM_COMMA perr)) {
+	if (!_COSE_Init(flags | COSE_INIT_FLAGS_NO_CBOR_TAG, &pobj->m_encrypt.m_message, COSE_recipient_object, CBOR_CONTEXT_PARAM_COMMA perr)) {
 		_COSE_Recipient_Free(pobj);
 		return NULL;
 	}
diff --git a/src/SignerInfo.c b/src/SignerInfo.c
index 5169887..8374d6f 100644
--- a/src/SignerInfo.c
+++ b/src/SignerInfo.c
@@ -67,7 +67,7 @@
 		return NULL;
 	}
 
-	if (!_COSE_Init(0, &pobj->m_message, COSE_recipient_object, CBOR_CONTEXT_PARAM_COMMA perror)) {
+	if (!_COSE_Init(COSE_INIT_FLAGS_NO_CBOR_TAG, &pobj->m_message, COSE_recipient_object, CBOR_CONTEXT_PARAM_COMMA perror)) {
 		_COSE_SignerInfo_Free(pobj);
 		COSE_FREE(pobj, context);
 		return NULL;
diff --git a/src/cose_int.h b/src/cose_int.h
index fb82337..b51fcf8 100644
--- a/src/cose_int.h
+++ b/src/cose_int.h
@@ -197,8 +197,8 @@
 //
 //  Debugging Items
 
-//#define DO_ASSERT assert(false);
-#define DO_ASSERT
+#define DO_ASSERT assert(false);
+//#define DO_ASSERT
 #define CHECK_CONDITION(condition, error) { if (!(condition)) { DO_ASSERT; if (perr != NULL) {perr->err = error;} goto errorReturn;}}
 #define FAIL_CONDITION(error) { DO_ASSERT; if (perr != NULL) {perr->err = error;} goto errorReturn;}
 #define CHECK_CONDITION_CBOR(condition, error) { if (!(condition)) { DO_ASSERT; if (perr != NULL) {perr->err = _MapFromCBOR(error);} goto errorReturn;}}
diff --git a/test/test.c b/test/test.c
index 60f6014..6220068 100644
--- a/test/test.c
+++ b/test/test.c
@@ -792,9 +792,15 @@
 		RunCorners();
 	}
 	else {
+#ifdef USE_CBOR_CONTEXT
+		allocator = CreateContext(-1);
+#endif
 		MacMessage();
 		SignMessage();
 		EncryptMessage();
+#ifdef USE_CBOR_CONTEXT
+		FreeContext(allocator);
+#endif
 	}
 
 	if (CFails > 0) fprintf(stderr, "Failed %d tests\n", CFails);
