diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java
index 9ae3f6ed321538a0047e2e73f8fd88530d8afed4..2915e039f1dcc4152c68c7e814c3d48d203f4b04 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java
@@ -972,7 +972,8 @@ public class ModelUtils {
     public static String getParentName(ComposedSchema composedSchema, Map<String, Schema> allSchemas) {
         List<Schema> interfaces = getInterfaces(composedSchema);
 
-        List<String> refedParentNames = new ArrayList<>();
+        List<String> refedWithoutDiscriminator = new ArrayList<>();
+
         if (interfaces != null && !interfaces.isEmpty()) {
             for (Schema schema : interfaces) {
                 // get the actual schema
@@ -986,9 +987,8 @@ public class ModelUtils {
                         // discriminator.propertyName is used
                         return parentName;
                     } else {
-                        LOGGER.debug("Not a parent since discriminator.propertyName is not set {}", s.get$ref());
                         // not a parent since discriminator.propertyName is not set
-                        refedParentNames.add(parentName);
+                        refedWithoutDiscriminator.add(parentName);
                     }
                 } else {
                     // not a ref, doing nothing
@@ -997,11 +997,11 @@ public class ModelUtils {
         }
 
         // parent name only makes sense when there is a single obvious parent
-        if (refedParentNames.size() == 1) {
+        if (refedWithoutDiscriminator.size() == 1) {
             LOGGER.warn("[deprecated] inheritance without use of 'discriminator.propertyName' is deprecated " +
                 "and will be removed in a future release. Generating model for composed schema name: {}. Title: {}",
                 composedSchema.getName(), composedSchema.getTitle());
-            return refedParentNames.get(0);
+            return refedWithoutDiscriminator.get(0);
         }
 
         return null;
@@ -1018,6 +1018,7 @@ public class ModelUtils {
     public static List<String> getAllParentsName(ComposedSchema composedSchema, Map<String, Schema> allSchemas, boolean includeAncestors) {
         List<Schema> interfaces = getInterfaces(composedSchema);
         List<String> names = new ArrayList<String>();
+        List<String> refedWithoutDiscriminator = new ArrayList<>();
 
         if (interfaces != null && !interfaces.isEmpty()) {
             for (Schema schema : interfaces) {
@@ -1035,8 +1036,8 @@ public class ModelUtils {
                             names.addAll(getAllParentsName((ComposedSchema) s, allSchemas, true));
                         }
                     } else {
-                        LOGGER.debug("Not a parent since discriminator.propertyName is not set {}", s.get$ref());
                         // not a parent since discriminator.propertyName is not set
+                        refedWithoutDiscriminator.add(parentName);
                     }
                 } else {
                     // not a ref, doing nothing
@@ -1044,6 +1045,12 @@ public class ModelUtils {
             }
         }
 
+        if (names.size() == 0 && refedWithoutDiscriminator.size() == 1) {
+            LOGGER.warn("[deprecated] inheritance without use of 'discriminator.propertyName' is deprecated " +
+                    "and will be removed in a future release. Generating model for {}. Title: {}", composedSchema.getName(), composedSchema.getTitle());
+            return refedWithoutDiscriminator;
+        }
+
         return names;
     }
 
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java
index 83dfc91ebd256f4b39174c5c9ba8a05241853cf8..0511b10f723a638c03447a68fa0cfea93459813f 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java
@@ -528,9 +528,31 @@ public class DefaultCodegenTest {
         Schema child = openAPI.getComponents().getSchemas().get("clubForCreation");
         codegen.setOpenAPI(openAPI);
         CodegenModel childModel = codegen.fromModel("clubForCreation", child);
-        showVars(childModel);
+        Assert.assertEquals(getRequiredVars(childModel), Collections.singletonList("name"));
     }
 
+    @Test
+    public void testAllOfSingleRefNoOwnProps() {
+        final OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/2_0/composed-allof.yaml");
+        final DefaultCodegen codegen = new CodegenWithMultipleInheritance();
+
+        Schema schema = openAPI.getComponents().getSchemas().get("NewMessageEventCoreNoOwnProps");
+        codegen.setOpenAPI(openAPI);
+        CodegenModel model = codegen.fromModel("NewMessageEventCoreNoOwnProps", schema);
+        Assert.assertEquals(getNames(model.getVars()), Collections.emptyList());
+        Assert.assertEquals(model.parent, "MessageEventCore");
+        Assert.assertEquals(model.allParents, Collections.singletonList("MessageEventCore"));
+    }
+
+    class CodegenWithMultipleInheritance extends DefaultCodegen {
+        public CodegenWithMultipleInheritance() {
+            super();
+            supportsInheritance = true;
+            supportsMultipleInheritance = true;
+        }
+    }
+
+
     @Test
     public void testAllOfParent() {
         final OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/allOf-required-parent.yaml");
@@ -539,24 +561,25 @@ public class DefaultCodegenTest {
 
         Schema person = openAPI.getComponents().getSchemas().get("person");
         CodegenModel personModel = codegen.fromModel("person", person);
-        showVars(personModel);
+        Assert.assertEquals(getRequiredVars(personModel), Arrays.asList("firstName", "name", "email", "id"));
 
         Schema personForCreation = openAPI.getComponents().getSchemas().get("personForCreation");
         CodegenModel personForCreationModel = codegen.fromModel("personForCreation", personForCreation);
-        showVars(personForCreationModel);
+        Assert.assertEquals(getRequiredVars(personForCreationModel), Arrays.asList("firstName", "name", "email"));
 
         Schema personForUpdate = openAPI.getComponents().getSchemas().get("personForUpdate");
         CodegenModel personForUpdateModel = codegen.fromModel("personForUpdate", personForUpdate);
-        showVars(personForUpdateModel);
+        Assert.assertEquals(getRequiredVars(personForUpdateModel), Collections.emptyList());
     }
 
-    private void showVars(CodegenModel model) {
-        if(model.getRequiredVars() != null) {
-
-            System.out.println(model.getRequiredVars().stream().map(v -> v.name).collect(Collectors.toList()));
-        }
+    private List<String> getRequiredVars(CodegenModel model) {
+        return getNames(model.getRequiredVars());
     }
 
+    private List<String> getNames(List<CodegenProperty> props) {
+        if(props == null) return null;
+        return props.stream().map(v -> v.name).collect(Collectors.toList());
+    }
 
     @Test
     public void testCallbacks() {
diff --git a/modules/openapi-generator/src/test/resources/2_0/composed-allof.yaml b/modules/openapi-generator/src/test/resources/2_0/composed-allof.yaml
index 579c2f796b4bbd6d2e9660b2d620b70ca727fcc7..ca79c2eb35878c5d9e2d01fd7a528e04d44bb001 100644
--- a/modules/openapi-generator/src/test/resources/2_0/composed-allof.yaml
+++ b/modules/openapi-generator/src/test/resources/2_0/composed-allof.yaml
@@ -50,4 +50,9 @@ definitions:
       p1:
         type: string
       p2:
-        type: string
\ No newline at end of file
+        type: string
+
+  NewMessageEventCoreNoOwnProps:
+    type: object
+    allOf:
+      - $ref: "#/definitions/MessageEventCore"