diff --git a/src/Discord.Net.Core/Entities/Interactions/MessageComponents/Builders/ComponentContainerExtensions.cs b/src/Discord.Net.Core/Entities/Interactions/MessageComponents/Builders/ComponentContainerExtensions.cs
index 9195a20b..a7c5c58f 100644
--- a/src/Discord.Net.Core/Entities/Interactions/MessageComponents/Builders/ComponentContainerExtensions.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/MessageComponents/Builders/ComponentContainerExtensions.cs
@@ -9,10 +9,21 @@ public static class ComponentContainerExtensions
/// Gets the total number of components in this and all child s combined.
///
public static int ComponentCount(this IComponentContainer container)
- => (container.Components?.Count ?? 0)
- + container.Components?
- .OfType()
- .Sum(x => x.ComponentCount()) ?? 0;
+ {
+ var sum = 0;
+ foreach (var component in container.Components)
+ {
+ sum++;
+
+ if (component is SectionBuilder { Accessory: not null })
+ sum++;
+
+ if (component is IComponentContainer childContainer)
+ sum += childContainer.ComponentCount();
+ }
+
+ return sum;
+ }
///
/// Adds a to the container.