diff --git a/ee/app/models/security/orchestration_policy_rule_schedule.rb b/ee/app/models/security/orchestration_policy_rule_schedule.rb
index c023e202a8922a4589aeac0fb04a6025297bf765..79c6d08f163812ca1a8c9b8ec3c2265aef50c74c 100644
--- a/ee/app/models/security/orchestration_policy_rule_schedule.rb
+++ b/ee/app/models/security/orchestration_policy_rule_schedule.rb
@@ -81,7 +81,11 @@ def worker_cron_expression
     end
 
     def time_window
-      policy&.dig(:rules, rule_index, :time_window, :value).to_i
+      value = policy&.dig(:rules, rule_index, :time_window, :value)
+
+      return unless value
+
+      value.to_i
     end
   end
 end
diff --git a/ee/spec/models/security/orchestration_policy_rule_schedule_spec.rb b/ee/spec/models/security/orchestration_policy_rule_schedule_spec.rb
index 7dabbeb74485ab8deed8027d3a332184f08d3275..b9f20e50932c34c97451c5826c6c128af484373d 100644
--- a/ee/spec/models/security/orchestration_policy_rule_schedule_spec.rb
+++ b/ee/spec/models/security/orchestration_policy_rule_schedule_spec.rb
@@ -403,7 +403,7 @@
         [{ type: 'schedule', branches: %w[production], cadence: '*/20 * * * *' }]
       end
 
-      it { is_expected.to be_zero }
+      it { is_expected.to be_nil }
     end
 
     context 'when time_window is defined in the rule' do