diff --git a/src/TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h b/src/TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h
index 524c892915d7e60ca0602c6d569a45fa39378557..64cf27b3de731e5b7e8b1836fa37dee756fed33b 100644
--- a/src/TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h
+++ b/src/TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h
@@ -50,6 +50,21 @@ public:
 };
 
 
+template< typename MeshConfig,
+          typename DimensionTag >
+struct EntityTopologyGetter
+{
+   static_assert( DimensionTag::value <= MeshConfig::meshDimension, "There are no entities with dimension higher than the mesh dimension." );
+   using Topology = typename Topologies::Subtopology< typename MeshConfig::CellTopology, DimensionTag::value >::Topology;
+};
+
+template< typename MeshConfig >
+struct EntityTopologyGetter< MeshConfig, DimensionTag< MeshConfig::CellTopology::dimension > >
+{
+   using Topology = typename MeshConfig::CellTopology;
+};
+
+
 template< typename MeshConfig,
           typename Device,
           int Dimension >
@@ -60,7 +75,7 @@ public:
 
    using GlobalIndexType               = typename MeshConfig::GlobalIndexType;
    using LocalIndexType                = typename MeshConfig::LocalIndexType;
-   using EntityTopology                = typename Topologies::EntityTopologyGetter< MeshConfig, DimensionTag< Dimension > >::Topology;
+   using EntityTopology                = typename EntityTopologyGetter< MeshConfig, DimensionTag< Dimension > >::Topology;
 
    using EntityType                    = MeshEntity< MeshConfig, Device, EntityTopology >;
    using SeedType                      = MeshEntitySeed< MeshConfig, EntityTopology >;
diff --git a/src/TNL/Meshes/MeshEntity.h b/src/TNL/Meshes/MeshEntity.h
index 2f46296f8a1715d66d8964d38e55d0d17ec3660f..b68225bc19396352c53cb59fe7869cd4cc9829e8 100644
--- a/src/TNL/Meshes/MeshEntity.h
+++ b/src/TNL/Meshes/MeshEntity.h
@@ -39,7 +39,7 @@ class MeshEntity
      protected MeshSuperentityAccess< MeshConfig, Device, EntityTopology_ >,
      public MeshEntityIndex< typename MeshConfig::IdType >
 {
-   static_assert( Topologies::is_compatible_topology< typename MeshConfig::CellTopology, EntityTopology_ >::value,
+   static_assert( std::is_same< EntityTopology_, typename MeshTraits< MeshConfig, Device >::template EntityTraits< EntityTopology_::dimension >::EntityTopology >::value,
                   "Specified entity topology is not compatible with the MeshConfig." );
 
    public:
diff --git a/src/TNL/Meshes/Topologies/MeshEntityTopology.h b/src/TNL/Meshes/Topologies/MeshEntityTopology.h
index f0c84b9d0ccc82f3c386cda82523eeb598f0540d..b506f4f5da8893d4ab305117a4528bac25225350 100644
--- a/src/TNL/Meshes/Topologies/MeshEntityTopology.h
+++ b/src/TNL/Meshes/Topologies/MeshEntityTopology.h
@@ -38,38 +38,6 @@ struct SubentityVertexMap
 {
 };
 
-
-template< typename MeshConfig,
-          typename DimensionTag >
-struct EntityTopologyGetter
-{
-   static_assert( DimensionTag::value <= MeshConfig::meshDimension, "There are no entities with dimension higher than the mesh dimension." );
-   using Topology = typename Subtopology< typename MeshConfig::CellTopology, DimensionTag::value >::Topology;
-};
-
-template< typename MeshConfig >
-struct EntityTopologyGetter< MeshConfig, DimensionTag< MeshConfig::CellTopology::dimension > >
-{
-   using Topology = typename MeshConfig::CellTopology;
-};
-
-
-// Helper struct to determine if one topology is compatible with another one.
-template< typename Supertopology, typename Subtopology >
-struct is_compatible_topology
-{
-   static_assert( Supertopology::dimension >= Subtopology::dimension,
-                  "wrong order of topologies in template parameters" );
-   static constexpr bool value = std::is_same< typename Topologies::Subtopology< Supertopology, Subtopology::dimension >::Topology,
-                                               Subtopology >::value;
-};
-
-template< typename Supertopology >
-struct is_compatible_topology< Supertopology, Supertopology >
-{
-   static constexpr bool value = true;
-};
-
 } // namespace Topologies
 } // namespace Meshes
 } // namespace TNL