diff --git a/TeamOctolings.Octobot/Data/Options/GuildOption.cs b/TeamOctolings.Octobot/Data/Options/GuildOption.cs
index 2c6f3b8..59df43b 100644
--- a/TeamOctolings.Octobot/Data/Options/GuildOption.cs
+++ b/TeamOctolings.Octobot/Data/Options/GuildOption.cs
@@ -21,7 +21,7 @@ public GuildOption(string name, T defaultValue)
 
     public string Name { get; }
 
-    public virtual string Value(JsonNode settings)
+    protected virtual string Value(JsonNode settings)
     {
         return Get(settings).ToString() ?? throw new InvalidOperationException();
     }
diff --git a/TeamOctolings.Octobot/Data/Options/LanguageOption.cs b/TeamOctolings.Octobot/Data/Options/LanguageOption.cs
index 030a35e..f58e011 100644
--- a/TeamOctolings.Octobot/Data/Options/LanguageOption.cs
+++ b/TeamOctolings.Octobot/Data/Options/LanguageOption.cs
@@ -15,7 +15,7 @@ public sealed class LanguageOption : GuildOption<CultureInfo>
 
     public LanguageOption(string name, string defaultValue) : base(name, CultureInfoCache[defaultValue]) { }
 
-    public override string Value(JsonNode settings)
+    protected override string Value(JsonNode settings)
     {
         return settings[Name]?.GetValue<string>() ?? "en";
     }