diff --git a/app/components/budgets/investments/form_component.html.erb b/app/components/budgets/investments/form_component.html.erb
index e76e567c5..3410ddcb6 100644
--- a/app/components/budgets/investments/form_component.html.erb
+++ b/app/components/budgets/investments/form_component.html.erb
@@ -84,7 +84,7 @@
<%= render SDG::RelatedListSelectorComponent.new(f) %>
- <% unless current_user.manager? %>
+ <% unless current_user.manager? || investment.persisted? %>
<%= f.check_box :terms_of_service,
title: t("form.accept_terms_title"),
diff --git a/spec/components/budgets/investments/form_component_spec.rb b/spec/components/budgets/investments/form_component_spec.rb
new file mode 100644
index 000000000..8e6bcfb11
--- /dev/null
+++ b/spec/components/budgets/investments/form_component_spec.rb
@@ -0,0 +1,36 @@
+require "rails_helper"
+
+describe Budgets::Investments::FormComponent, type: :component do
+ include Rails.application.routes.url_helpers
+
+ let(:budget) { create(:budget) }
+
+ before do
+ allow(controller).to receive(:current_user).and_return(create(:user))
+ allow(request).to receive(:path_parameters).and_return(budget_id: budget.id)
+ end
+
+ describe "accept terms of services field" do
+ it "is shown for new investments" do
+ investment = build(:budget_investment, budget: budget)
+
+ render_inline Budgets::Investments::FormComponent.new(
+ investment,
+ url: budget_investments_path(budget)
+ )
+
+ expect(page).to have_field "I agree to the Privacy Policy and the Terms and conditions of use"
+ end
+
+ it "is not shown for existing investments" do
+ investment = create(:budget_investment, budget: budget)
+
+ render_inline Budgets::Investments::FormComponent.new(
+ investment,
+ url: budget_investment_path(budget, investment)
+ )
+
+ expect(page).not_to have_field "I agree to the Privacy Policy and the Terms and conditions of use"
+ end
+ end
+end
diff --git a/spec/system/budgets/investments_spec.rb b/spec/system/budgets/investments_spec.rb
index 60b056d95..87a55a069 100644
--- a/spec/system/budgets/investments_spec.rb
+++ b/spec/system/budgets/investments_spec.rb
@@ -633,7 +633,6 @@ describe "Budget Investments" do
click_link("Edit", match: :first)
fill_in "Title", with: "Park improvements"
- check "budget_investment_terms_of_service"
click_button "Update Investment"
@@ -651,7 +650,6 @@ describe "Budget Investments" do
visit user_path(daniel, filter: "budget_investments")
click_link("Edit", match: :first)
fill_in "Title", with: ""
- check "budget_investment_terms_of_service"
click_button "Update Investment"