diff --git a/src/Ryujinx.Ava/AppHost.cs b/src/Ryujinx.Ava/AppHost.cs
index dac4a3c57..2fd9ce00d 100644
--- a/src/Ryujinx.Ava/AppHost.cs
+++ b/src/Ryujinx.Ava/AppHost.cs
@@ -1088,10 +1088,11 @@ namespace Ryujinx.Ava
                         case KeyboardHotkeyState.ToggleMute:
                             if (Device.IsAudioMuted())
                             {
-                                Device.SetVolume(ConfigurationState.Instance.System.AudioVolume);
+                                Device.SetVolume(_viewModel.VolumeBeforeMute);
                             }
                             else
                             {
+                                _viewModel.VolumeBeforeMute = Device.GetVolume();
                                 Device.SetVolume(0);
                             }
 
diff --git a/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
index 80df5d398..7146dfd7c 100644
--- a/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
+++ b/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
@@ -90,6 +90,7 @@ namespace Ryujinx.Ava.UI.ViewModels
         private string _pauseKey = "F5";
         private string _screenshotKey = "F8";
         private float _volume;
+        private float _volumeBeforeMute;
         private string _backendText;
 
         private bool _canUpdate = true;
@@ -554,6 +555,17 @@ namespace Ryujinx.Ava.UI.ViewModels
             }
         }
 
+        public float VolumeBeforeMute
+        {
+            get => _volumeBeforeMute;
+            set
+            {
+                _volumeBeforeMute = value;
+
+                OnPropertyChanged();
+            }
+        }
+
         public bool ShowStatusSeparator
         {
             get => _showStatusSeparator;
diff --git a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs
index c78f4160d..1aecbd041 100644
--- a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs
+++ b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs
@@ -436,10 +436,11 @@ namespace Ryujinx.Ava.UI.Windows
             {
                 if (!volumeSplitButton.IsChecked)
                 {
-                    ViewModel.AppHost.Device.SetVolume(ConfigurationState.Instance.System.AudioVolume);
+                    ViewModel.AppHost.Device.SetVolume(ViewModel.VolumeBeforeMute);
                 }
                 else
                 {
+                    ViewModel.VolumeBeforeMute = ViewModel.AppHost.Device.GetVolume();
                     ViewModel.AppHost.Device.SetVolume(0);
                 }