diff --git a/lib/validators/integer_setting_validator.rb b/lib/validators/integer_setting_validator.rb
index 2af3dafb201..185eb0a7994 100644
--- a/lib/validators/integer_setting_validator.rb
+++ b/lib/validators/integer_setting_validator.rb
@@ -1,8 +1,8 @@
 class IntegerSettingValidator
   def initialize(opts={})
     @opts = opts
-    @opts[:min] = 0 unless @opts[:min].present?
-    @opts[:max] = 20000 unless @opts[:max].present?
+    @opts[:min] = 0 unless @opts[:min].present? || @opts[:hidden]
+    @opts[:max] = 20000 unless @opts[:max].present? || @opts[:hidden]
   end
 
   def valid_value?(val)
diff --git a/spec/components/validators/integer_setting_validator_spec.rb b/spec/components/validators/integer_setting_validator_spec.rb
index 53da3017546..db0b1cd2810 100644
--- a/spec/components/validators/integer_setting_validator_spec.rb
+++ b/spec/components/validators/integer_setting_validator_spec.rb
@@ -97,5 +97,14 @@ describe IntegerSettingValidator do
         expect(validator.valid_value?(-2)).to eq(false)
       end
     end
+
+    context "when setting is hidden" do
+      subject(:validator) { described_class.new(hidden: true) }
+
+      it "does not impose default validations" do
+        expect(validator.valid_value?(-1)).to eq(true)
+        expect(validator.valid_value?(20001)).to eq(true)
+      end
+    end
   end
 end