diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -1,3 +1,5 @@
+var undefined
+
 exports.FallbackMap = function FallbackMap (fallback) {
   var map = new Map()
   var mapGet = map.get
@@ -10,10 +12,15 @@ exports.FallbackMap = function FallbackMap (fallback) {
   }
 
   map.get = function get (key) {
+    var result = mapGet.call(map, key)
+    if (result !== undefined) {
+      return result
+    }
     if (map.has(key)) {
-      return mapGet.call(map, key)
+      return result
     }
-    var result = fallback(key, map)
+
+    result = fallback(key, map)
     map.set(key, result)
     return result
   }
bypass map.has call when not really needed