diff --git a/src/cose_int.h b/src/cose_int.h
index fed3296..2b5f0ed 100644
--- a/src/cose_int.h
+++ b/src/cose_int.h
@@ -199,9 +199,10 @@
 //
 //  Debugging Items
 
-#define CHECK_CONDITION(condition, error) { if (!(condition)) { /*assert(false);*/ if (perr != NULL) {perr->err = error;} goto errorReturn;}}
-#define FAIL_CONDITION(error) { /*assert(false);*/ if (perr != NULL) {perr->err = error;} goto errorReturn;}
-#define CHECK_CONDITION_CBOR(condition, error) { if (!(condition)) { /*assert(false);*/ if (perr != NULL) {perr->err = _MapFromCBOR(error);} goto errorReturn;}}
+#define DO_ASSERT assert(false);
+#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;}}
 
 extern cn_cbor * _COSE_encode_protected(COSE * pMessage, cose_errback * perr);
 
diff --git a/test/mac_test.c b/test/mac_test.c
index 7e01ad2..22641d2 100644
--- a/test/mac_test.c
+++ b/test/mac_test.c
@@ -100,7 +100,7 @@
 	//
 
 	const cn_cbor * pFail = cn_cbor_mapget_string(pControl, "fail");
-	if ((pFail != NULL) && (pFail->type == CN_CBOR_TRUE)) goto returnError;
+	if ((pFail != NULL) && (pFail->type == CN_CBOR_TRUE)) return 0;
 
 	HCOSE_MAC hMacObj = COSE_Mac_Init(CBOR_CONTEXT_PARAM_COMMA NULL);
 
diff --git a/test/test.c b/test/test.c
index 04f4494..1822659 100644
--- a/test/test.c
+++ b/test/test.c
@@ -575,7 +575,6 @@
 	while ((dp = readdir(dirp)) != NULL) {
 		int cch = strlen(dp->d_name);
 		if (cch < 4) continue;
-		printf("type = %d\n", dp->d_type);
 		rgchFullName[ich] = 0;
 		strcat(rgchFullName, dp->d_name);
 		printf("Run test '%s'", rgchFullName);
