diff --git a/98-kexec.rules.ppc64 b/98-kexec.rules.ppc64
index 1a91220..a1c00a9 100644
--- a/98-kexec.rules.ppc64
+++ b/98-kexec.rules.ppc64
@@ -1,15 +1,22 @@
-SUBSYSTEM=="cpu", ACTION=="online", GOTO="kdump_reload"
-SUBSYSTEM=="memory", ACTION=="online", GOTO="kdump_reload"
-SUBSYSTEM=="memory", ACTION=="offline", GOTO="kdump_reload"
+SUBSYSTEM=="cpu", ACTION=="online", GOTO="kdump_reload_cpu"
+SUBSYSTEM=="memory", ACTION=="online", GOTO="kdump_reload_mem"
+SUBSYSTEM=="memory", ACTION=="offline", GOTO="kdump_reload_mem"
 
 GOTO="kdump_reload_end"
 
-LABEL="kdump_reload"
-
 # If kdump is not loaded, calling kdump-udev-throttle will end up
 # doing nothing, but systemd-run will always generate extra logs for
 # each call, so trigger the kdump-udev-throttler only if kdump
 # service is active to avoid unnecessary logs
+
+LABEL="kdump_reload_mem"
+
 RUN+="/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; /usr/bin/systemd-run --quiet --no-block /usr/lib/udev/kdump-udev-throttler'"
 
+GOTO="kdump_reload_end"
+
+LABEL="kdump_reload_cpu"
+
+RUN+="/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; ! test -f /sys/kernel/fadump_enabled || cat /sys/kernel/fadump_enabled | grep 0  || exit 0; /usr/bin/systemd-run --quiet --no-block /usr/lib/udev/kdump-udev-throttler'"
+
 LABEL="kdump_reload_end"