diff --git a/uffd/session/views.py b/uffd/session/views.py
index a29557a74bc9c95a3dfd801aff81114b69317e97..c674648b19a42631b1e9965c6d92c7f7f3cba35e 100644
--- a/uffd/session/views.py
+++ b/uffd/session/views.py
@@ -79,6 +79,8 @@ def set_session(user, password='', skip_mfa=False):
 
 @bp.route("/login", methods=('GET', 'POST'))
 def login():
+	if request.user_pre_mfa:
+		return redirect(url_for('mfa.auth', ref=request.values.get('ref', url_for('index'))))
 	if request.method == 'GET':
 		return render_template('session/login.html', ref=request.values.get('ref'))