diff --git a/pagure/templates/waiting.html b/pagure/templates/waiting.html
index b1b7f58..b3765cd 100644
--- a/pagure/templates/waiting.html
+++ b/pagure/templates/waiting.html
@@ -33,7 +33,7 @@
diff --git a/pagure/ui/app.py b/pagure/ui/app.py
index 5275fa1..a2a66fb 100644
--- a/pagure/ui/app.py
+++ b/pagure/ui/app.py
@@ -507,6 +507,9 @@ def wait_task(taskid):
count = int(flask.request.args.get('count', 0))
# First refresh in 10ms, after that, wait a second
delay = 10 if count == 0 else 1000
+ prev = flask.request.args.get('prev')
+ if not is_safe_url(prev):
+ prev = flask.url_for('index')
return flask.render_template(
'waiting.html',
taskid=taskid,
@@ -514,7 +517,8 @@ def wait_task(taskid):
count=count,
wait_next=flask.url_for('wait_task',
taskid=taskid,
- count=str(count + 1)))
+ count=str(count + 1),
+ prev=prev))
@APP.route('/settings/', methods=('GET', 'POST'))