@@ -277,6 +277,8 @@ def render(template_name, override_theme=None, **kwargs):
277277
278278 kwargs['template_name'] = template_name
279279
280+ kwargs['cookies'] = request.cookies
281+
280282 return render_template(
281283 '{}/{}'.format(kwargs['theme'], template_name), **kwargs)
282284
@@ -471,6 +473,8 @@ def preferences():
471473
472474 blocked_engines = []
473475
476+ resp = make_response(redirect(url_for('index')))
477+
474478 if request.method == 'GET':
475479 blocked_engines = request.cookies.get('blocked_engines', '').split(',')
476480 else: # on save
@@ -502,8 +506,8 @@ def preferences():
502506 blocked_engines.append(engine_name)
503507 elif pd_name == 'theme':
504508 theme = pd if pd in themes else default_theme
505−
506− resp = make_response(redirect(url_for('index')))
509+ else:
510+ resp.set_cookie(pd_name, pd, max_age=cookie_max_age)
507511
508512 user_blocked_engines = request.cookies.get('blocked_engines', '').split(',') # noqa
509513