init
diff --git a/log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java b/log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java
index 5957a93..3f43e3e 100644
--- a/log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java
+++ b/log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java
@@ -55,18 +55,19 @@
     @Test
     public void testCopyAndPut() {
         UnmodifiableArrayBackedMap testMap = UnmodifiableArrayBackedMap.EMPTY_MAP;
-        testMap = testMap.copyAndPut("1", "value1");
-        assertTrue(testMap.containsKey("1"));
-        assertEquals(testMap.get("1"), "value1");
+        testMap = testMap.copyAndPut("6", "value6");
+        assertTrue(testMap.containsKey("6"));
+        assertEquals(testMap.get("6"), "value6");
 
-        testMap = testMap.copyAndPut("1", "another value");
-        assertTrue(testMap.containsKey("1"));
-        assertEquals(testMap.get("1"), "another value");
+        testMap = testMap.copyAndPut("6", "another value");
+        assertTrue(testMap.containsKey("6"));
+        assertEquals(testMap.get("6"), "another value");
 
         HashMap<String, String> newValues = getTestParameters();
         testMap = testMap.copyAndPutAll(newValues);
         assertEquals(testMap.get("1"), "value1");
         assertEquals(testMap.get("4"), "value4");
+        assertEquals(testMap.get("6"), "another value");
     }
 
     @Test
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
index cab4dc2..eada687 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
@@ -282,6 +282,7 @@
         // copy the contents of the current map (if any)
         if (numEntries > 0) {
             System.arraycopy(backingArray, 0, newMap.backingArray, 0, numEntries * 2 + 1);
+            newMap.numEntries = numEntries;
         }
 
         for (Map.Entry<String, String> entry : entriesToAdd.entrySet()) {