diff --git a/lib/livebook_web/live/app_session_live.ex b/lib/livebook_web/live/app_session_live.ex
index 038a98c3d..a15b13d96 100644
--- a/lib/livebook_web/live/app_session_live.ex
+++ b/lib/livebook_web/live/app_session_live.ex
@@ -185,7 +185,10 @@ defmodule LivebookWeb.AppSessionLive do
live(~p"/apps/#{slug}") |> follow_redirect(conn)
+
+ # The button should not appear on error
+ refute render(view) =~
+ "Some inputs have changed.\nClick this button to process with latest values."
+
+ view
+ |> element("button", "Retry")
+ |> render_click()
+
+ assert_receive {:app_updated,
+ %{pid: ^app_pid, sessions: [%{app_status: %{execution: :executed}}]}}
+
+ Livebook.Session.set_input_value(session_pid, input.id, 20)
+ Livebook.SessionHelpers.wait_for_session_update(session_pid)
+
+ assert render(view) =~
+ "Some inputs have changed.\nClick this button to process with latest values."
+
+ Livebook.App.close(app.pid)
+ end
end