diff --git a/Mac/Modules/Nav.c b/Mac/Modules/Nav.c
index d8ef6ef..934dc87 100644
--- a/Mac/Modules/Nav.c
+++ b/Mac/Modules/Nav.c
@@ -437,8 +437,8 @@
 	NavTypeListHandle typeList = NULL;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -474,8 +474,8 @@
 	OSType fileCreator;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -510,7 +510,7 @@
 	NavEventUPP eventProc = NULL;
 	OSErr err;
 
-	if ( kw ) {
+	if ( kw && PyObject_IsTrue(kw) ) {
 		if (!PyArg_ParseTuple(args, "l", &action))
 			return NULL;
 		dict = kw;
@@ -542,8 +542,8 @@
 	NavEventUPP eventProc = NULL;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -574,8 +574,8 @@
 	NavEventUPP eventProc = NULL;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -610,8 +610,8 @@
 	NavTypeListHandle typeList = NULL;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -646,8 +646,8 @@
 	NavObjectFilterUPP filterProc = NULL;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -682,8 +682,8 @@
 	NavObjectFilterUPP filterProc = NULL;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -718,8 +718,8 @@
 	NavObjectFilterUPP filterProc = NULL;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -753,8 +753,8 @@
 	NavEventUPP eventProc = NULL;
 	OSErr err;
 
-	if ( kw ) {
-		if (!PyArg_ParseTuple(args, ""))
+	if ( kw && PyObject_IsTrue(kw) ) {
+		if (!PyArg_ParseTuple(args, ";either keyword arguments or dictionary expected"))
 			return NULL;
 		dict = kw;
 	} else if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
@@ -771,7 +771,7 @@
 }
 
 #if 0
-XXXX I don't know what to do with the void * argument
+/* XXXX I don't know what to do with the void * argument */
 static char nav_NavCustomControl__doc__[] =
 ""
 ;
