diff --git a/ansible/roles/ovn/tasks/bootstrap.yml b/ansible/roles/ovn/tasks/bootstrap.yml
index 7c2fb0f14a709fcf544f6c268d7715ec8abd8f3e..3e6065919e0ac182d4b464503a8876a4345f197e 100644
--- a/ansible/roles/ovn/tasks/bootstrap.yml
+++ b/ansible/roles/ovn/tasks/bootstrap.yml
@@ -34,6 +34,6 @@
     - { name: ovn-remote-probe-interval, value: "{{ ovn_remote_probe_interval }}" }
     - { name: ovn-openflow-probe-interval, value: "{{ ovn_openflow_probe_interval }}" }
     - { name: ovn-bridge-mappings, value: "{{ ovn_mappings }}", state: "{{ 'present' if (inventory_hostname in groups['ovn-controller-network'] or computes_need_external_bridge | bool) else 'absent' }}" }
-    - { name: ovn-chassis-mac-mappings, value: "{{ ovn_macs }}", state: "{{ 'present' if inventory_hostname in groups['ovn-controller-compute'] else 'absent' }}" }
+    - { name: ovn-chassis-mac-mappings, value: "{{ ovn_macs }}", state: "{{ 'present' if inventory_hostname in groups['ovn-controller'] else 'absent' }}" }
     - { name: ovn-cms-options, value: "{{ ovn_cms_opts }}", state: "{{ 'present' if ovn_cms_opts != '' else 'absent' }}" }
   when: inventory_hostname in groups.get('ovn-controller', [])
diff --git a/releasenotes/notes/bug-1995078-2671a868c4fd27d3.yaml b/releasenotes/notes/bug-1995078-2671a868c4fd27d3.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e0955dfe804c1c4745f17db720fff47f454b6421
--- /dev/null
+++ b/releasenotes/notes/bug-1995078-2671a868c4fd27d3.yaml
@@ -0,0 +1,9 @@
+---
+fixes:
+  - |
+    Fixes ``ovn-chassis-mac-mappings`` missing on network nodes.
+    Previously ``ovn-chassis-mac-mappings`` has been added only to
+    ``ovn-controller-compute`` group. However external ports are being
+    scheduled on network nodes. Adding ``ovn-chassis-mac-mappings``
+    on whole ``ovn-controller`` group fixes the bug.
+    `LP#1995078 <https://launchpad.net/bugs/1995078>`__