diff --git a/src/util/postprocessing.cpp b/src/util/postprocessing.cpp
index 706ceca4e..0ee81d7be 100644
--- a/src/util/postprocessing.cpp
+++ b/src/util/postprocessing.cpp
@@ -263,6 +263,7 @@ std::vector<PostProcessing::ShaderOption> PostProcessing::Config::GetStageOption
   if (!shader)
     return ret;
 
+  shader->LoadOptions(si, section);
   ret = shader->TakeOptions();
   return ret;
 }
diff --git a/src/util/postprocessing_shader.cpp b/src/util/postprocessing_shader.cpp
index 3fcfd6cd3..e16a4cd67 100644
--- a/src/util/postprocessing_shader.cpp
+++ b/src/util/postprocessing_shader.cpp
@@ -66,7 +66,7 @@ std::vector<PostProcessing::ShaderOption> PostProcessing::Shader::TakeOptions()
   return std::move(m_options);
 }
 
-void PostProcessing::Shader::LoadOptions(SettingsInterface& si, const char* section)
+void PostProcessing::Shader::LoadOptions(const SettingsInterface& si, const char* section)
 {
   for (ShaderOption& option : m_options)
   {
diff --git a/src/util/postprocessing_shader.h b/src/util/postprocessing_shader.h
index fd8531e9c..79eadcbce 100644
--- a/src/util/postprocessing_shader.h
+++ b/src/util/postprocessing_shader.h
@@ -38,7 +38,7 @@ public:
   virtual bool IsValid() const = 0;
 
   std::vector<ShaderOption> TakeOptions();
-  void LoadOptions(SettingsInterface& si, const char* section);
+  void LoadOptions(const SettingsInterface& si, const char* section);
 
   const ShaderOption* GetOptionByName(const std::string_view& name) const;
   ShaderOption* GetOptionByName(const std::string_view& name);