diff --git a/ee/spec/workers/vulnerabilities/process_archived_events_worker_spec.rb b/ee/spec/workers/vulnerabilities/process_archived_events_worker_spec.rb
index 61c53db9730f5c97e8fabd1308d2d845856dcff5..6d8a328ca4d27fcb7fde9f2e4964bf481a1d3f1b 100644
--- a/ee/spec/workers/vulnerabilities/process_archived_events_worker_spec.rb
+++ b/ee/spec/workers/vulnerabilities/process_archived_events_worker_spec.rb
@@ -17,6 +17,10 @@
     })
   end
 
+  before do
+    stub_feature_flags(update_vuln_reads_archived_via_event: [project, other_project, project_without_vulnerabilities])
+  end
+
   it_behaves_like 'worker with data consistency', described_class, data_consistency: :sticky
 
   subject(:use_event) { consume_event(subscriber: described_class, event: event) }
diff --git a/ee/spec/workers/vulnerabilities/process_transfer_events_worker_spec.rb b/ee/spec/workers/vulnerabilities/process_transfer_events_worker_spec.rb
index ac73f0573549014f9d91592f573ca87a0d6b24e8..c11b606613dfccd1589492437a53fb549e4d7f52 100644
--- a/ee/spec/workers/vulnerabilities/process_transfer_events_worker_spec.rb
+++ b/ee/spec/workers/vulnerabilities/process_transfer_events_worker_spec.rb
@@ -27,6 +27,11 @@
     })
   end
 
+  before do
+    stub_feature_flags(update_vuln_reads_traversal_ids_via_event: [project, other_project,
+      project_without_vulnerabilities, group])
+  end
+
   it_behaves_like 'worker with data consistency', described_class, data_consistency: :always
 
   subject(:use_event) { consume_event(subscriber: described_class, event: event) }
diff --git a/lib/gitlab/event_store/event.rb b/lib/gitlab/event_store/event.rb
index aecb4fd17c376cc90556c2d56047f834fd43db30..8458f6354721e3520726c13607391876a842dcb8 100644
--- a/lib/gitlab/event_store/event.rb
+++ b/lib/gitlab/event_store/event.rb
@@ -36,7 +36,7 @@ class << self
       def initialize(data:)
         validate_schema!
         validate_data!(data)
-        @data = data
+        @data = data.with_indifferent_access
       end
 
       def schema
diff --git a/lib/gitlab/event_store/subscriber.rb b/lib/gitlab/event_store/subscriber.rb
index 81770624cd9ca35498a8bdd9fe4b8332bb27a6fe..9445d37d25af337ed97037629a23b8ea1712fc42 100644
--- a/lib/gitlab/event_store/subscriber.rb
+++ b/lib/gitlab/event_store/subscriber.rb
@@ -43,7 +43,7 @@ def handle_event(event)
       private
 
       def construct_event(event_type, event_data)
-        event_type.new(data: event_data.with_indifferent_access)
+        event_type.new(data: event_data)
       end
     end
   end
diff --git a/spec/lib/gitlab/event_store/event_spec.rb b/spec/lib/gitlab/event_store/event_spec.rb
index 367b3334020372a3055f5f9b05d62c8b766ae2e3..a4a4e3de9925fb0ae22b7e5960b7cb20a323e8fb 100644
--- a/spec/lib/gitlab/event_store/event_spec.rb
+++ b/spec/lib/gitlab/event_store/event_spec.rb
@@ -7,7 +7,7 @@
 RSpec.describe Gitlab::EventStore::Event, feature_category: :shared do
   let(:event_class) { stub_const('TestEvent', Class.new(described_class)) }
   let(:event) { event_class.new(data: data) }
-  let(:data) { { project_id: 123, project_path: 'org/the-project' } }
+  let(:data) { { 'project_id' => 123, 'project_path' => 'org/the-project' } }
 
   context 'when schema is not defined' do
     it 'raises an error on initialization' do
@@ -31,6 +31,11 @@ def schema
       end
     end
 
+    it 'returns data with indifferent access' do
+      expect(event.data[:project_id]).to eq(123)
+      expect(event.data['project_id']).to eq(123)
+    end
+
     describe 'schema validation' do
       context 'when data matches the schema' do
         it 'initializes the event correctly' do
@@ -39,7 +44,7 @@ def schema
       end
 
       context 'when required properties are present as well as unknown properties' do
-        let(:data) { { project_id: 123, unknown_key: 'unknown_value' } }
+        let(:data) { { 'project_id' => 123, 'unknown_key' => 'unknown_value' } }
 
         it 'initializes the event correctly' do
           expect(event.data).to eq(data)
diff --git a/spec/support/matchers/event_store.rb b/spec/support/matchers/event_store.rb
index 582ea20218712ad7427018d4c7f8fa3ca0dd3a18..a074e96ed0e74b1fe366350c5f8ffbab0d1e7802 100644
--- a/spec/support/matchers/event_store.rb
+++ b/spec/support/matchers/event_store.rb
@@ -31,7 +31,7 @@ def match_data?(actual, expected)
   end
 
   chain :with do |expected_data|
-    @expected_data = expected_data
+    @expected_data = expected_data.with_indifferent_access
   end
 
   failure_message do