Index: src/main/groovy/lang/MetaClassImpl.java =================================================================== --- src/main/groovy/lang/MetaClassImpl.java (revision 19149) +++ src/main/groovy/lang/MetaClassImpl.java (working copy) @@ -2864,7 +2864,6 @@ Object method = iter.next(); ParameterTypes paramTypes = (ParameterTypes) method; long dist = MetaClassHelper.calculateParameterDistance(arguments, paramTypes); - if (dist == 0) return method; if (matches.size() == 0) { matches.add(method); matchesDistance = dist; Index: src/test/groovy/bugs/Groovy4029Bug.groovy =================================================================== --- src/test/groovy/bugs/Groovy4029Bug.groovy (revision 0) +++ src/test/groovy/bugs/Groovy4029Bug.groovy (revision 0) @@ -0,0 +1,9 @@ +package groovy.bugs + +class Groovy4029Bug extends GroovyTestCase { + void testAddNullKeyEntryInMapUsingSubscriptNotation() { + Map m = [:] + m[null] = null + assert m.size() == 1 + } +}