diff --git a/app/controllers/form_controller.rb b/app/controllers/form_controller.rb
index ed7e8ba58..d84f8642a 100644
--- a/app/controllers/form_controller.rb
+++ b/app/controllers/form_controller.rb
@@ -418,6 +418,7 @@ private
       responses_for_page = responses_for_page(@page)
       @log.assign_attributes(responses_for_page)
       @log.valid?
+      @log.reload
       error_attributes = @log.errors.map(&:attribute)
       @questions = @log.form.questions.select { |q| error_attributes.include?(q.id.to_sym) }
     end
diff --git a/spec/requests/check_errors_controller_spec.rb b/spec/requests/check_errors_controller_spec.rb
index f0f1887aa..a59ebde45 100644
--- a/spec/requests/check_errors_controller_spec.rb
+++ b/spec/requests/check_errors_controller_spec.rb
@@ -52,14 +52,14 @@ RSpec.describe CheckErrorsController, type: :request do
         end
 
         before do
-          lettings_log.update!(needstype: 1, declaration: 1, ecstat1: 10, hhmemb: 2, net_income_known: 0, incfreq: 1, earnings: 1000)
+          lettings_log.update!(needstype: 1, declaration: 1, ecstat1: 10, hhmemb: 2, net_income_known: 0, incfreq: nil, earnings: nil)
           sign_in user
           post "/lettings-logs/#{lettings_log.id}/income-amount", params: params
         end
 
         it "displays correct clear links" do
-          expect(page).to have_selector("input[type=submit][value='Clear']", count: 3)
-          expect(page).to have_button("Clear all")
+          expect(page).to have_selector("input[type=submit][value='Clear']", count: 2)
+          expect(page).to have_link("Clear all", href: "/lettings-logs/#{lettings_log.id}/confirm-clear-all-answers")
         end
       end