diff --git a/src/yuzu/configuration/shared_widget.cpp b/src/yuzu/configuration/shared_widget.cpp
index 410fa80cd49fbd9f75620bc2430d64335f4fcc15..bdb38c8ea56f35fbb596a71b848a430b88406bd9 100644
--- a/src/yuzu/configuration/shared_widget.cpp
+++ b/src/yuzu/configuration/shared_widget.cpp
@@ -495,10 +495,12 @@ void Widget::SetupComponent(const QString& label, std::function<void()>& load_fu
 
     if (Settings::IsConfiguringGlobal()) {
         load_func = [this, serializer, checkbox_serializer, require_checkbox, other_setting]() {
-            if (require_checkbox) {
+            if (require_checkbox && other_setting->UsingGlobal()) {
                 other_setting->LoadString(checkbox_serializer());
             }
-            setting.LoadString(serializer());
+            if (setting.UsingGlobal()) {
+                setting.LoadString(serializer());
+            }
         };
     } else {
         layout->addWidget(restore_button);