diff --git a/ironic_python_agent/shell/shutdown.sh b/ironic_python_agent/shell/shutdown.sh
index 3c7738c77..b685d28f7 100644
--- a/ironic_python_agent/shell/shutdown.sh
+++ b/ironic_python_agent/shell/shutdown.sh
@@ -14,16 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# This script reboots by echoing into /proc/sysrq_trigger.
-
 set -e
 
-# Make sure all functions of sysrq is enabled.
-echo "1" > /proc/sys/kernel/sysrq
+# flush file system buffers
+sync
 
-echo "s" > /proc/sysrq-trigger
 if [[ $1 = '-h' ]]; then
-    echo "o" > /proc/sysrq-trigger
+    poweroff
 elif [[ $1 = '-r' ]]; then
-    echo "b" > /proc/sysrq-trigger
+    reboot
 fi
diff --git a/releasenotes/notes/remove-sysrq-2c2804930180f408.yaml b/releasenotes/notes/remove-sysrq-2c2804930180f408.yaml
new file mode 100644
index 000000000..f2dc2a5c2
--- /dev/null
+++ b/releasenotes/notes/remove-sysrq-2c2804930180f408.yaml
@@ -0,0 +1,7 @@
+---
+fixes:
+  - Stop using SYSRQ when performing the in-band reboot or power off
+    because it has a similar effect to a hardware reset button/power
+    switch and can be problematic on some hardware types. Instead,
+    reboot/power off the node via the "poweroff" and "reboot" commands
+    (soft power action).