diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py
index c3a92449680..37568529f89 100644
--- a/addons/survey/controllers/main.py
+++ b/addons/survey/controllers/main.py
@@ -360,7 +360,9 @@ class Survey(http.Controller):
'page_number': page_ids.index(survey_data['page'].id) + (1 if survey_sudo.progression_mode == 'number' else 0)
})
elif survey_sudo.questions_layout == 'page_per_question':
- page_ids = survey_sudo.question_ids.ids
+ page_ids = (answer_sudo.predefined_question_ids.ids
+ if not answer_sudo.is_session_answer
+ else survey_sudo.question_ids.ids)
survey_progress = request.env['ir.qweb']._render('survey.survey_progression', {
'survey': survey_sudo,
'page_ids': page_ids,
diff --git a/addons/survey/views/survey_templates.xml b/addons/survey/views/survey_templates.xml
index c5221d2b33c..cd941377caf 100644
--- a/addons/survey/views/survey_templates.xml
+++ b/addons/survey/views/survey_templates.xml
@@ -38,7 +38,12 @@