diff --git a/Python/getargs.c b/Python/getargs.c
index a68940a..5c78dd7 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -1090,7 +1090,7 @@
 			char *thiskw = kwlist[i];
 			if (thiskw == NULL)
 				break;
-			if (PyMapping_HasKeyString(keywords, thiskw)) {
+			if (PyDict_GetItemString(keywords, thiskw)) {
 				PyErr_Format(PyExc_TypeError,
 					"keyword parameter '%s' was given "
 					"by position and by name",
@@ -1105,9 +1105,8 @@
 	len = nargs;
 	if (keywords && nargs < min) {
 		for (i = nargs; i < min; i++) {
-		  if (PyMapping_HasKeyString(keywords, kwlist[i])) {
+			if (PyDict_GetItemString(keywords, kwlist[i]))
 				len++;
-		  }
 		}
 	}
 	PyErr_Clear();	
@@ -1168,15 +1167,16 @@
 		PyObject *item;
 		if (*format == '|')
 			format++;
-		item = PyMapping_GetItemString(keywords, kwlist[i]);
+		item = PyDict_GetItemString(keywords, kwlist[i]);
 		if (item != NULL) {
+			Py_INCREF(item);
 			msg = convertitem(item, &format, p_va, levels, msgbuf);
+			Py_DECREF(item);
 			if (msg) {
 				seterror(i+1, msg, levels, fname, message);
 				return 0;
 			}
 			converted++;
-			Py_DECREF(item);
 		}
 		else {
 			PyErr_Clear();
