diff --git a/ee/app/models/gitlab_subscription.rb b/ee/app/models/gitlab_subscription.rb
index 87674076fec005db021afa551e2a544bcbcb8855..08ef366f03815164612e1b75942b146a1557b3cd 100644
--- a/ee/app/models/gitlab_subscription.rb
+++ b/ee/app/models/gitlab_subscription.rb
@@ -44,8 +44,10 @@ class GitlabSubscription < ApplicationRecord
   end
 
   scope :requiring_seat_refresh, -> (limit) do
+    # look for subscriptions that have not been refreshed in more than
+    # 18 hours (catering for 6-hourly refresh schedule)
     with_a_paid_hosted_plan
-      .where("last_seat_refresh_at < ? OR last_seat_refresh_at IS NULL", 24.hours.ago)
+      .where("last_seat_refresh_at < ? OR last_seat_refresh_at IS NULL", 18.hours.ago)
       .limit(limit)
   end
 
diff --git a/ee/spec/models/gitlab_subscription_spec.rb b/ee/spec/models/gitlab_subscription_spec.rb
index ae18d252b9d45cdddf5529f89a09f1cc04e239a0..68f78972bd6b190feee17590daf2b99383e0c789 100644
--- a/ee/spec/models/gitlab_subscription_spec.rb
+++ b/ee/spec/models/gitlab_subscription_spec.rb
@@ -68,10 +68,12 @@
       let_it_be(:ultimate_subscription) { create(:gitlab_subscription, hosted_plan: ultimate_plan, last_seat_refresh_at: nil) }
       let_it_be(:ultimate_subscription_12_hours) { create(:gitlab_subscription, hosted_plan: ultimate_plan, last_seat_refresh_at: 12.hours.ago) }
       let_it_be(:ultimate_subscription_2_days) { create(:gitlab_subscription, hosted_plan: ultimate_plan, last_seat_refresh_at: 2.days.ago) }
+      let_it_be(:ultimate_subscription_24_hours) { create(:gitlab_subscription, hosted_plan: ultimate_plan, last_seat_refresh_at: 24.hours.ago) }
 
       let_it_be(:premium_subscription) { create(:gitlab_subscription, hosted_plan: premium_plan, last_seat_refresh_at: nil) }
       let_it_be(:premium_subscription_12_hours) { create(:gitlab_subscription, hosted_plan: premium_plan, last_seat_refresh_at: 12.hours.ago) }
       let_it_be(:premium_subscription_2_days) { create(:gitlab_subscription, hosted_plan: premium_plan, last_seat_refresh_at: 2.days.ago) }
+      let_it_be(:premium_subscription_24_hours) { create(:gitlab_subscription, hosted_plan: premium_plan, last_seat_refresh_at: 24.hours.ago) }
 
       let_it_be(:free_subscription) { create(:gitlab_subscription, :free, last_seat_refresh_at: 2.days.ago) }
       let_it_be(:trial_subscription) { create(:gitlab_subscription, hosted_plan: ultimate_plan, trial: true, last_seat_refresh_at: 2.days.ago) }
@@ -80,11 +82,13 @@
         matching_subscriptions = [
           ultimate_subscription,
           ultimate_subscription_2_days,
+          ultimate_subscription_24_hours,
           premium_subscription,
-          premium_subscription_2_days
+          premium_subscription_2_days,
+          premium_subscription_24_hours
         ]
 
-        expect(described_class.requiring_seat_refresh(4))
+        expect(described_class.requiring_seat_refresh(6))
           .to match_array(matching_subscriptions)
       end