diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache
index 48e6d0faf879c400ca2939c87f1a628e3c3ff896..6305be42a15d7d529a343ba4104a57a288a02bba 100644
--- a/modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache
+++ b/modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache
@@ -181,7 +181,7 @@ public class {{classname}}{{#parent}} extends {{{parent}}}{{/parent}}{{^parent}}
   {{#isMap}}
 
   public {{classname}} put{{nameInCamelCase}}Item(String key, {{{items.datatypeWithEnum}}} {{name}}Item) {
-    super.put{{nameInCamelCase}}Item({{name}}Item);
+    super.put{{nameInCamelCase}}Item(key, {{name}}Item);
     return this;
   }
   {{/isMap}}
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java
index 51fef65c2a7aa4d979ccb1353bf638a82ccc7b48..f5c683322ed32f37a8eeb00497ee63738a70f417 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java
@@ -1380,4 +1380,27 @@ public class SpringCodegenTest {
                 .assertParameterAnnotations()
                 .containsWithNameAndAttributes("RequestParam", ImmutableMap.of("defaultValue", "\"\""));
     }
+
+    @Test
+    public void testPutItemsMethodContainsKeyInSuperClassMethodCall_issue12494() throws IOException {
+        File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
+        output.deleteOnExit();
+
+        OpenAPI openAPI = new OpenAPIParser()
+            .readLocation("src/test/resources/bugs/issue_12494.yaml", null, new ParseOptions()).getOpenAPI();
+        SpringCodegen codegen = new SpringCodegen();
+        codegen.setOutputDir(output.getAbsolutePath());
+
+        ClientOptInput input = new ClientOptInput()
+            .openAPI(openAPI)
+            .config(codegen);
+
+        DefaultGenerator generator = new DefaultGenerator();
+        Map<String, File> files = generator.opts(input).generate().stream()
+            .collect(Collectors.toMap(File::getName, Function.identity()));
+
+        JavaFileAssert.assertThat(files.get("ChildClass.java"))
+            .assertMethod("putSomeMapItem")
+            .bodyContainsLines("super.putSomeMapItem(key, someMapItem);");
+	}
 }
diff --git a/modules/openapi-generator/src/test/resources/bugs/issue_12494.yaml b/modules/openapi-generator/src/test/resources/bugs/issue_12494.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c25bc9dfbec5792fecbcfa35d9b5f00d58556535
--- /dev/null
+++ b/modules/openapi-generator/src/test/resources/bugs/issue_12494.yaml
@@ -0,0 +1,42 @@
+openapi: '3.0.3'
+info:
+  version: 1.0.0
+  title: Example Api
+paths:
+  /dummy:
+    get:
+      summary: dummy
+      operationId: dummy
+      responses:
+        '200':
+          description: OK
+
+
+components:
+  schemas:
+
+    ChildClass:
+      type: object
+      allOf:
+        - $ref: "#/components/schemas/ParentClass"
+        - type: object
+          properties:
+            objectType:
+              type: string
+              default: "ChildClass"
+
+    ParentClass:
+      type: object
+      discriminator:
+        propertyName: objectType
+      properties:
+        objectType:
+          type: string
+          default: "ParentClass"
+        someMap:
+          $ref: "#/components/schemas/MapClass"
+
+    MapClass:
+      type: object
+      additionalProperties:
+        type: string