diff --git a/SOURCES/grubby-bls b/SOURCES/grubby-bls
index 1a89d80..591c9d2 100755
--- a/SOURCES/grubby-bls
+++ b/SOURCES/grubby-bls
@@ -511,6 +511,17 @@ update_bls_fragment() {
         fi
     elif [[ $bootloader = grub2 ]]; then
         opts="$(grub2-editenv "${env}" list | grep kernelopts | sed -e "s/kernelopts=//")"
+    elif [[ $bootloader = zipl ]]; then
+	if [[ ! -f /etc/kernel/cmdline ]]; then
+	    # anaconda could create this, but we'd just end up in the same
+	    # place.
+	    sed 's/BOOT_IMAGE=[^ ]*//' /proc/cmdline > /etc/kernel/cmdline
+	fi
+	if [[ $param = "ALL" ]] && [[ -n $remove_args || -n $add_args ]]; then
+	    read old_args < /etc/kernel/cmdline
+	    opts="$(update_args "${old_args}" "${remove_args}" "${add_args}")"
+	    echo "$opts" > /etc/kernel/cmdline
+	fi
     fi
 
     for i in ${indexes[*]}; do
diff --git a/SPECS/grubby.spec b/SPECS/grubby.spec
index aeeeb6f..2b68829 100644
--- a/SPECS/grubby.spec
+++ b/SPECS/grubby.spec
@@ -1,6 +1,6 @@
 Name: grubby
 Version: 8.40
-Release: 42%{?dist}
+Release: 44%{?dist}
 Summary: Command line tool for updating BootLoaderSpec files
 License: GPLv2+
 URL: https://github.com/rhinstaller/grubby
@@ -169,6 +169,14 @@ current boot environment.
 %{_mandir}/man8/*.8*
 
 %changelog
+* Thu Aug 11 2022 Robbie Harwood <rharwood@redhat.com> - 8.40-44
+- Write to /etc/kernel/cmdline on s390x and only s390x
+- Resolves: #1978226
+
+* Fri Jun 03 2022 Robbie Harwood <rharwood@redhat.com> - 8.40-43
+- Additionally write to /etc/kernel/cmdline
+- Resolves: #1978226
+
 * Wed Jun 09 2021 Javier Martinez Canillas <javierm@redhat.com> - 8.40-42
 - grubby-bls: expand only the kernelopts variable
   Resolves: rhbz#1819666