diff --git a/app/assets/javascripts/discourse/app/components/d-button.gjs b/app/assets/javascripts/discourse/app/components/d-button.gjs
index 603abfd21bf..d0b0147010a 100644
--- a/app/assets/javascripts/discourse/app/components/d-button.gjs
+++ b/app/assets/javascripts/discourse/app/components/d-button.gjs
@@ -178,15 +178,13 @@ export default class DButton extends GlimmerComponentWithDeprecatedParentView {
>
{{#if @isLoading}}
{{~icon "spinner" class="loading-icon"~}}
- {{else}}
- {{#if @icon}}
- {{#if @ariaHidden}}
-
- {{~icon @icon~}}
-
- {{else}}
+ {{else if @icon}}
+ {{#if @ariaHidden}}
+
{{~icon @icon~}}
- {{/if}}
+
+ {{else}}
+ {{~icon @icon~}}
{{/if}}
{{/if}}
@@ -197,7 +195,7 @@ export default class DButton extends GlimmerComponentWithDeprecatedParentView {
…
{{~/if~}}
- {{~else~}}
+ {{~else if (or @icon @isLoading)~}}
{{! Zero-width space character, so icon-only button height = regular button height }}
{{~/if~}}