diff --git a/ansible/roles/horizon/defaults/main.yml b/ansible/roles/horizon/defaults/main.yml
index b2ebf085d876f2d084a387281e9c7523ee7f51ec..17c9d8f8a9bff4cb87ca2cbf50847fabfe89a214 100644
--- a/ansible/roles/horizon/defaults/main.yml
+++ b/ansible/roles/horizon/defaults/main.yml
@@ -45,7 +45,7 @@ horizon_services:
         external: false
         port: "{% if kolla_enable_tls_internal|bool %}443{% else %}{{ horizon_port }}{% endif %}"
         listen_port: "{{ horizon_listen_port }}"
-        frontend_http_extra:
+        backend_http_extra:
           - "balance source"
       horizon_redirect:
         enabled: "{{ enable_horizon|bool and kolla_enable_tls_internal|bool }}"
@@ -59,7 +59,7 @@ horizon_services:
         external: true
         port: "{% if kolla_enable_tls_external|bool %}443{% else %}{{ horizon_port }}{% endif %}"
         listen_port: "{{ horizon_listen_port }}"
-        frontend_http_extra:
+        backend_http_extra:
           - "balance source"
       horizon_external_redirect:
         enabled: "{{ enable_horizon|bool and kolla_enable_tls_external|bool }}"
diff --git a/releasenotes/notes/bug-1872540-0e9bed299f657b25.yaml b/releasenotes/notes/bug-1872540-0e9bed299f657b25.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c5856d68cf63568f01e9beb3469b275484aa51af
--- /dev/null
+++ b/releasenotes/notes/bug-1872540-0e9bed299f657b25.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    Fixes source-IP-based load balancing for Horizon when using the
+    "split" HAProxy service template.