diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index 218f7cc..6d6e245 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -189,6 +189,14 @@
 
         self.assertRaises(ValueError, {}.update, [(1, 2, 3)])
 
+        # SF #1615701:  make d.update(m) honor __getitem__() and keys() in dict subclasses
+        class KeyUpperDict(dict):
+            def __getitem__(self, key):
+                return key.upper()
+        d.clear()
+        d.update(KeyUpperDict.fromkeys('abc'))
+        self.assertEqual(d, {'a':'A', 'b':'B', 'c':'C'})
+
     def test_fromkeys(self):
         self.assertEqual(dict.fromkeys('abc'), {'a':None, 'b':None, 'c':None})
         d = {}
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 5a5f860..901e333 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -1306,7 +1306,7 @@
 		return -1;
 	}
 	mp = (dictobject*)a;
-	if (PyDict_Check(b)) {
+	if (PyDict_CheckExact(b)) {
 		other = (dictobject*)b;
 		if (other == mp || other->ma_used == 0)
 			/* a.update(a) or a.update({}); nothing to do */
