diff --git a/invenio_config_tuw/config.py b/invenio_config_tuw/config.py
index f79742cb8d990f203ad07ca7fe065fb32ba40782..b1ca510cc73d341ae6e41788b2479dd3b045e868 100644
--- a/invenio_config_tuw/config.py
+++ b/invenio_config_tuw/config.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 #
-# Copyright (C) 2020-2024 TU Wien.
+# Copyright (C) 2020-2025 TU Wien.
 #
 # Invenio-Config-TUW is free software; you can redistribute it and/or modify
 # it under the terms of the MIT License; see LICENSE file for more details.
@@ -18,6 +18,9 @@ from invenio_oauthclient.views.client import auto_redirect_login
 from invenio_rdm_records.config import RDM_RECORDS_REVIEWS
 
 from .auth import TUWSSOSettingsHelper
+from .notifications import (
+    TUWCurationRequestUploaderResubmitNotificationBuilder as TUWUploaderResubmitNotifBuilder,
+)
 from .permissions import (
     TUWCommunityPermissionPolicy,
     TUWRecordPermissionPolicy,
@@ -281,6 +284,7 @@ MAX_CONTENT_LENGTH = 100 * (1024**2)
 NOTIFICATIONS_BUILDERS = {
     **NOTIFICATIONS_BUILDERS,
     **CURATIONS_NOTIFICATIONS_BUILDERS,
+    TUWUploaderResubmitNotifBuilder.type: TUWUploaderResubmitNotifBuilder,
 }
 
 CURATIONS_MODERATION_ROLE = "reviewer"
diff --git a/invenio_config_tuw/notifications.py b/invenio_config_tuw/notifications.py
new file mode 100644
index 0000000000000000000000000000000000000000..704a1064b2840cb2180aeb34b42c37bb05e52dc3
--- /dev/null
+++ b/invenio_config_tuw/notifications.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2024-2025 TU Wien.
+#
+# Invenio-Config-TUW is free software; you can redistribute it and/or modify
+# it under the terms of the MIT License; see LICENSE file for more details.
+
+"""Overrides for notification builders from Invenio-Notifications."""
+
+from invenio_curations.notifications.builders import (
+    CurationRequestActionNotificationBuilder,
+)
+from invenio_curations.requests.curation import CurationRequest, CurationResubmitAction
+from invenio_notifications.services.uow import NotificationOp
+from invenio_users_resources.notifications.filters import UserPreferencesRecipientFilter
+from invenio_users_resources.notifications.generators import UserRecipient
+
+
+class TUWCurationRequestUploaderResubmitNotificationBuilder(
+    CurationRequestActionNotificationBuilder
+):
+    """Notification builder for the request creator on resubmit."""
+
+    type = f"{CurationRequestActionNotificationBuilder.type}.resubmit-creator"
+    recipients = [UserRecipient("request.created_by")]
+    recipient_filters = [UserPreferencesRecipientFilter()]
+
+
+class TUWCurationResubmitAction(CurationResubmitAction):
+    """Notify both uploader and reviewer on resubmit."""
+
+    def execute(self, identity, uow):
+        """Notify uploader when the record gets resubmitted for review."""
+        uow.register(
+            NotificationOp(
+                TUWCurationRequestUploaderResubmitNotificationBuilder.build(
+                    identity=identity, request=self.request
+                )
+            )
+        )
+        return super().execute(identity, uow)
+
+
+class TUWCurationRequest(CurationRequest):
+    """Customized curation request class with modified resubmit action."""
+
+    available_actions = {
+        **CurationRequest.available_actions,
+        "resubmit": TUWCurationResubmitAction,
+    }
diff --git a/invenio_config_tuw/startup.py b/invenio_config_tuw/startup.py
index 0ff1773286b3f3c7d436a15c7b307e7e60b0ec04..32960e7478d25ef8aec19c15f5250dcf820c72f9 100644
--- a/invenio_config_tuw/startup.py
+++ b/invenio_config_tuw/startup.py
@@ -17,8 +17,10 @@ from logging import ERROR
 from logging.handlers import SMTPHandler
 
 from invenio_rdm_records.services.search_params import MyDraftsParam
+from invenio_requests.proxies import current_request_type_registry
 
 from .logs import DetailedFormatter
+from .notifications import TUWCurationRequest
 
 
 def register_smtp_error_handler(app):
@@ -99,3 +101,8 @@ def register_menu_entries(app):
         '<i class="file icon"></i> Curation',
         order=1,
     )
+
+
+def customize_curation_request_type(app):
+    """Override the rdm-curations request type with our own version."""
+    current_request_type_registry.register_type(TUWCurationRequest(), force=True)
diff --git a/pyproject.toml b/pyproject.toml
index a4c5a063b063f1b8073da774e26eb539cc1b9f60..5fca16fc0c478e397bc4d75556f3639465a4ed13 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -80,10 +80,12 @@ invenio_config_tuw_settings = "invenio_config_tuw.users.views:user_settings_blue
 invenio_config_tuw_mail_handler = "invenio_config_tuw.startup:register_smtp_error_handler"
 invenio_config_tuw_search_drafts = "invenio_config_tuw.startup:override_search_drafts_options"
 invenio_config_tuw_curation_settings = "invenio_config_tuw.startup:register_menu_entries"
+invenio_config_tuw_curation_request = "invenio_config_tuw.startup:customize_curation_request_type"
 
 [project.entry-points."invenio_base.api_finalize_app"]
 invenio_config_tuw_mail_handler = "invenio_config_tuw.startup:register_smtp_error_handler"
 invenio_config_tuw_search_drafts = "invenio_config_tuw.startup:override_search_drafts_options"
+invenio_config_tuw_curation_request = "invenio_config_tuw.startup:customize_curation_request_type"
 
 [project.entry-points."invenio_celery.tasks"]
 invenio_config_tuw = "invenio_config_tuw.tasks"