--- old/src/share/classes/java/util/HashMap.java 2013-12-11 21:22:26.543804677 -0800 +++ new/src/share/classes/java/util/HashMap.java 2013-12-11 21:22:26.315804666 -0800 @@ -1116,13 +1116,13 @@ } } V v = mappingFunction.apply(key); - if (old != null) { + if (v == null) { + return null; + } else if (old != null) { old.value = v; afterNodeAccess(old); return v; } - else if (v == null) - return null; else if (t != null) t.putTreeVal(this, tab, hash, key, v); else {