diff --git a/invenio_config_tuw/startup.py b/invenio_config_tuw/startup.py
index 41d95b1c3910efbed9ba1a5ed690ebe777389533..a096fdebcf9eb781247892af69bfd55096db43e3 100644
--- a/invenio_config_tuw/startup.py
+++ b/invenio_config_tuw/startup.py
@@ -107,32 +107,46 @@ def override_communities_permissions(state):
     svc.members.config.permission_policy_cls = TUWCommunitiesPermissionPolicy
 
 
-@blueprint.route("/account/settings/curation/", methods=["GET", "POST"])
-@login_required
-@register_menu(
-    blueprint,
-    "settings.curation",
-    '<i class="file icon"></i> Curation',
-    order=1,
-)
-@register_breadcrumb(blueprint, "breadcrumbs.settings.curation", ("Curation"))
-def curation_settings_view():
-    preferences_curation_form = CurationForm(
-        formdata=None, obj=current_user, prefix="preferences-curation"
-    )
+def create_curation_settings_blueprint(app):
+    """Register the curation settings view after the app has been initialized.
 
-    form_name = request.form.get("submit", None)
-    form = preferences_curation_form if form_name else None
+    This is necessary because we're depending on the Flask-Menu extension.
+    """
 
-    if form:
-        form.process(formdata=request.form)
-        if form.validate_on_submit():
-            form.populate_obj(current_user)
-            db.session.add(current_user)
-            current_app.extensions["security"].datastore.commit()
-            flash(("Curation settings were updated."), category="success")
+    blueprint = Blueprint(
+        "invenio_config_tuw_settings",
+        __name__,
+        url_prefix="/account/settings/curation",
+    )
 
-    return render_template(
-        "invenio_theme_tuw/settings/curation.html",
-        preferences_curation_form=preferences_curation_form,
+    @blueprint.route("/", methods=["GET", "POST"])
+    @login_required
+    @register_menu(
+        blueprint,
+        "settings.curation",
+        '<i class="file icon"></i> Curation',
+        order=1,
     )
+    @register_breadcrumb(blueprint, "breadcrumbs.settings.curation", ("Curation"))
+    def curation_settings_view():
+        preferences_curation_form = CurationForm(
+            formdata=None, obj=current_user, prefix="preferences-curation"
+        )
+
+        form_name = request.form.get("submit", None)
+        form = preferences_curation_form if form_name else None
+
+        if form:
+            form.process(formdata=request.form)
+            if form.validate_on_submit():
+                form.populate_obj(current_user)
+                db.session.add(current_user)
+                current_app.extensions["security"].datastore.commit()
+                flash(("Curation settings were updated."), category="success")
+
+        return render_template(
+            "invenio_theme_tuw/settings/curation.html",
+            preferences_curation_form=preferences_curation_form,
+        )
+
+    return blueprint
diff --git a/setup.cfg b/setup.cfg
index beb1c66435ef61abb92a5827405116573db31638..822b75dca26c8d279621df1af233a4e2fa212d4b 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -59,6 +59,7 @@ invenio_base.api_apps =
     invenio_config_tuw = invenio_config_tuw:InvenioConfigTUW
 invenio_base.blueprints =
     invenio_config_tuw_hacks = invenio_config_tuw.startup:blueprint
+    invenio_config_tuw_settings = invenio_config_tuw.startup:create_curation_settings_blueprint
 invenio_base.api_blueprints =
     invenio_config_tuw_hacks = invenio_config_tuw.startup:blueprint
 invenio_celery.tasks =