diff --git a/src/preact.js b/src/preact.js
index <HASH>..<HASH> 100644
--- a/src/preact.js
+++ b/src/preact.js
@@ -114,8 +114,8 @@ function createContext () {
     for (let i in mappedProps) {
       if (mappedProps[i] !== nextMappedProps[i]) return true
     }
-    for (let i in mappedProps) {
-      if (!(i in nextMappedProps)) return true
+    for (let i in nextMappedProps) {
+      if (!(i in mappedProps)) return true
     }
     return false
   }
diff --git a/src/react.js b/src/react.js
index <HASH>..<HASH> 100644
--- a/src/react.js
+++ b/src/react.js
@@ -111,8 +111,8 @@ function createContext () {
     for (let i in mappedProps) {
       if (mappedProps[i] !== nextMappedProps[i]) return true
     }
-    for (let i in mappedProps) {
-      if (!(i in nextMappedProps)) return true
+    for (let i in nextMappedProps) {
+      if (!(i in mappedProps)) return true
     }
     return false
   }
Fix a bug in diffing props