* Objects/mappingobject.c (mappingremove): don't call
	lookmapping() for empty dictionary
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 89fd314..bb4e051 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -322,8 +322,11 @@
 	if (hash == -1)
 		return -1;
 	mp = (mappingobject *)op;
+	if (((mappingobject *)op)->ma_table == NULL)
+		goto empty;
 	ep = lookmapping(mp, key, hash);
 	if (ep->me_value == NULL) {
+	empty:
 		err_setval(KeyError, key);
 		return -1;
 	}
diff --git a/Objects/mappingobject.c b/Objects/mappingobject.c
index 89fd314..bb4e051 100644
--- a/Objects/mappingobject.c
+++ b/Objects/mappingobject.c
@@ -322,8 +322,11 @@
 	if (hash == -1)
 		return -1;
 	mp = (mappingobject *)op;
+	if (((mappingobject *)op)->ma_table == NULL)
+		goto empty;
 	ep = lookmapping(mp, key, hash);
 	if (ep->me_value == NULL) {
+	empty:
 		err_setval(KeyError, key);
 		return -1;
 	}