diff --git a/debian/librem5-base-defaults.install b/debian/librem5-base-defaults.install
index 9245088a8f8fd47e5af592932c35d45e1397ed90..04edb9359d55f2a29ba9f6ae463ce3fa57c1298c 100644
--- a/debian/librem5-base-defaults.install
+++ b/debian/librem5-base-defaults.install
@@ -6,7 +6,7 @@ default/adwaita-phone.jpg          usr/share/librem5/default-theme/
 default/audio/pulse                  etc/
 default/audio/profile-sets           usr/share/pulseaudio/alsa-mixer/
 default/audio/ucm2                   usr/share/alsa/
-
+default/audio/alsa-restore.service.d lib/systemd/system/
 
 default/sm.puri.OSK0.desktop         usr/share/applications/
 default/osk-wayland                  usr/bin/
diff --git a/default/audio/alsa-restore.service.d/librem5.conf b/default/audio/alsa-restore.service.d/librem5.conf
new file mode 100644
index 0000000000000000000000000000000000000000..0b357258694df777301e6badc7c7a427316bd0c2
--- /dev/null
+++ b/default/audio/alsa-restore.service.d/librem5.conf
@@ -0,0 +1,11 @@
+[Service]
+# Make sure to not load outdated asound.state file and use librem5.state to store current state instead.
+# As an added bonus, allow the state to be reset when the user deletes the librem5.state file manually and reboots.
+ExecStartPre=/bin/rm -f /var/lib/alsa/asound.state
+ExecStart=
+ExecStart=-/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime -f /var/lib/alsa/librem5.state restore
+ExecStartPost=/usr/bin/touch /var/lib/alsa/librem5.state
+ExecStop=
+ExecStop=/bin/rm -f /var/lib/alsa/asound.state
+ExecStop=/bin/sh -c '[ -f /var/lib/alsa/librem5.state ]'
+ExecStop=-/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime -f /var/lib/alsa/librem5.state store