diff --git a/app/services/projects/overwrite_project_service.rb b/app/services/projects/overwrite_project_service.rb
index 2612001eb958c8ed367df29ba2d8584271b005ab..c58fba33b2a5c34248b32464b238c216118eab14 100644
--- a/app/services/projects/overwrite_project_service.rb
+++ b/app/services/projects/overwrite_project_service.rb
@@ -11,7 +11,9 @@ def execute(source_project)
         move_before_destroy_relationships(source_project)
         # Reset is required in order to get the proper
         # uncached fork network method calls value.
-        destroy_old_project(source_project.reset)
+        ::Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.allow_cross_database_modification_within_transaction(url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/340256') do
+          destroy_old_project(source_project.reset)
+        end
         rename_project(source_project.name, source_project.path)
 
         @project
diff --git a/spec/support/database/cross-database-modification-allowlist.yml b/spec/support/database/cross-database-modification-allowlist.yml
index 51804862a436da690d232af7adf08cf5baab2a7b..91a4bff22c532d930ea6241dc4862f6a70d270c3 100644
--- a/spec/support/database/cross-database-modification-allowlist.yml
+++ b/spec/support/database/cross-database-modification-allowlist.yml
@@ -8,4 +8,3 @@
 - "./spec/models/clusters/applications/runner_spec.rb"
 - "./spec/requests/api/commits_spec.rb"
 - "./spec/services/ci/retry_build_service_spec.rb"
-- "./spec/services/projects/overwrite_project_service_spec.rb"