||In modern software development, metamodels play an important role as they build the basis for domain-specific modeling languages, which are used for system design, simulation and code generation. Like any artifact in a software-development process, these languages and their respective models need to evolve over time. However, if metamodels that define those languages are badly designed, the evolution process is complicated and therefore additional effort has to be spent for maintenance. Such design problems are considered as a bad smell. Existing approaches to detect smells in metamodels deal mainly with simple defects or focus only on a small number of smells. Therefore, we present a comprehensive investigation of bad smells and antipatterns by reviewing design smells of object-oriented programming and, if possible, transfer them to metamodeling. These smells are in part automatically detectable, thus, we provide tool support with suitable detection methods as an extension for EMF Refactor. We evaluate this approach by testing every automatically detectable smell with appropriate models and an application of the tool support on an already existing large metamodel to evaluate the suggested refactorings.