diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs
index f5ad2b61..def014fc 100644
--- a/src/Generator/Driver.cs
+++ b/src/Generator/Driver.cs
@@ -328,8 +328,6 @@ namespace CppSharp
TranslationUnitPasses.AddPass(new ParamTypeToInterfacePass());
}
- TranslationUnitPasses.AddPass(new CheckVTableComponentsPass());
-
if (Options.IsCSharpGenerator)
TranslationUnitPasses.AddPass(new DelegatesPass());
diff --git a/src/Generator/Passes/CheckVTableComponentsPass.cs b/src/Generator/Passes/CheckVTableComponentsPass.cs
deleted file mode 100644
index d8df00c9..00000000
--- a/src/Generator/Passes/CheckVTableComponentsPass.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System.Linq;
-using CppSharp.AST;
-using CppSharp.Utils;
-
-namespace CppSharp.Passes
-{
- ///
- /// This pass checks for vftable entries with duplicated components.
- /// This might happen because of bugs in Clang vftable layouting.
- ///
- public class CheckVTableComponentsPass : TranslationUnitPass
- {
- public override bool VisitClassDecl(AST.Class @class)
- {
- foreach (var vfptr in @class.Layout.VFTables)
- {
- var uniqueEntries = new OrderedSet();
- foreach (var entry in vfptr.Layout.Components)
- uniqueEntries.Add(entry);
-
- // The vftable does not have duplicated components.
- if (vfptr.Layout.Components.Count == uniqueEntries.Count)
- continue;
-
- Diagnostics.Warning(
- "Class '{0}' found with duplicated vftable components",
- @class.Name);
- vfptr.Layout.Components = uniqueEntries.ToList();
- }
-
- return base.VisitClassDecl(@class);
- }
- }
-}