diff --git a/src/orca/orca_bin.py.in b/src/orca/orca_bin.py.in
index be3d4ebdd..1f83d6d6c 100755
--- a/src/orca/orca_bin.py.in
+++ b/src/orca/orca_bin.py.in
@@ -209,7 +209,7 @@ def other_orcas() -> list[int]:
     """Returns the pid of any other instances of Orca owned by this user."""
 
     with subprocess.Popen(
-        ["pgrep", "-u", str(os.getuid()), "-x", "orca"],
+        ["@pgrep@", "-u", str(os.getuid()), "-x", "orca"],
         stdout=subprocess.PIPE,
     ) as proc:
         pids = proc.stdout.read() if proc.stdout else b""
diff --git a/src/orca/orca_modifier_manager.py b/src/orca/orca_modifier_manager.py
index eec1edc5f..e4ceee004 100644
--- a/src/orca/orca_modifier_manager.py
+++ b/src/orca/orca_modifier_manager.py
@@ -289,7 +289,7 @@ class OrcaModifierManager:
 
         self._restore_original_xkbcomp()
         with subprocess.Popen(  # noqa: S603 - xkbcomp is a system dependency, not untrusted input
-            ["xkbcomp", display, "-"],  # noqa: S607 - full path would break across distros
+            ["@xkbcomp@", display, "-"],  # noqa: S607 - full path would break across distros
             stdout=subprocess.PIPE,
             stderr=subprocess.DEVNULL,
         ) as p:
@@ -338,7 +338,7 @@ class OrcaModifierManager:
 
         self._caps_lock_cleared = False
         with subprocess.Popen(  # noqa: S603 - xkbcomp is a system dependency, not untrusted input
-            ["xkbcomp", "-w0", "-", display],  # noqa: S607 - full path would break across distros
+            ["@xkbcomp@", "-w0", "-", display],  # noqa: S607 - full path would break across distros
             stdin=subprocess.PIPE,
             stdout=None,
             stderr=None,
@@ -449,7 +449,7 @@ class OrcaModifierManager:
         debug.print_message(debug.LEVEL_INFO, msg, True)
 
         with subprocess.Popen(  # noqa: S603 - xkbcomp is a system dependency, not untrusted input
-            ["xkbcomp", "-w0", "-", display],  # noqa: S607 - full path would break across distros
+            ["@xkbcomp@", "-w0", "-", display],  # noqa: S607 - full path would break across distros
             stdin=subprocess.PIPE,
             stdout=None,
             stderr=None,
diff --git a/tests/unit_tests/test_orca_modifier_manager.py b/tests/unit_tests/test_orca_modifier_manager.py
index 3c6c917cb..5d714f2a5 100644
--- a/tests/unit_tests/test_orca_modifier_manager.py
+++ b/tests/unit_tests/test_orca_modifier_manager.py
@@ -700,7 +700,7 @@ class TestOrcaModifierManager:
         manager.refresh_orca_modifiers("test reason")
         mock_restore.assert_called_once()
         mock_popen.assert_called_once_with(
-            ["xkbcomp", ":0", "-"],
+            ["@xkbcomp@", ":0", "-"],
             stdout=subprocess.PIPE,
             stderr=subprocess.DEVNULL,
         )
@@ -808,7 +808,7 @@ class TestOrcaModifierManager:
         mock_unmap.assert_called_once()
         if expects_popen_call:
             mock_popen.assert_called_once_with(
-                ["xkbcomp", "-w0", "-", ":0"],
+                ["@xkbcomp@", "-w0", "-", ":0"],
                 stdin=subprocess.PIPE,
                 stdout=None,
                 stderr=None,
@@ -880,7 +880,7 @@ class TestOrcaModifierManager:
 
         if expects_popen_call:
             mock_popen.assert_called_once_with(
-                ["xkbcomp", "-w0", "-", ":0"],
+                ["@xkbcomp@", "-w0", "-", ":0"],
                 stdin=subprocess.PIPE,
                 stdout=None,
                 stderr=None,
