diff --git a/src/main/java/org/olat/course/nodes/projectbroker/ProjectBrokerDropboxScoringViewController.java b/src/main/java/org/olat/course/nodes/projectbroker/ProjectBrokerDropboxScoringViewController.java
index c6a6a75ee5e1bca48488e22ced509053f17e95f9..94a0e4fbe141bd6a45525a5e4d765e731150d8fe 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/ProjectBrokerDropboxScoringViewController.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/ProjectBrokerDropboxScoringViewController.java
@@ -68,7 +68,8 @@ public class ProjectBrokerDropboxScoringViewController extends DropboxScoringVie
 		Translator fallbackTranslator = Util.createPackageTranslator(this.getClass(), ureq.getLocale());
 		Translator myTranslator = Util.createPackageTranslator(DropboxScoringViewController.class, ureq.getLocale(), fallbackTranslator);
 		setTranslator(myTranslator);
-		init(ureq);
+		boolean hasNotification = ( userCourseEnv.getCourseEnvironment().getCourseGroupManager().isIdentityCourseAdministrator(ureq.getIdentity())) || userCourseEnv.getCourseEnvironment().getCourseGroupManager().isIdentityCourseCoach(ureq.getIdentity());
+		init(ureq, hasNotification);
 	}
 	
 	protected String getDropboxFilePath(String assesseeName) {
diff --git a/src/main/java/org/olat/course/nodes/ta/DropboxScoringViewController.java b/src/main/java/org/olat/course/nodes/ta/DropboxScoringViewController.java
index 16a41e2cbc9dd7a86f07a4cd476009a74acca019..758ca0c49f387202e85129bdb201568201e466e4 100644
--- a/src/main/java/org/olat/course/nodes/ta/DropboxScoringViewController.java
+++ b/src/main/java/org/olat/course/nodes/ta/DropboxScoringViewController.java
@@ -36,6 +36,7 @@ import org.olat.core.commons.modules.bc.FolderRunController;
 import org.olat.core.commons.modules.bc.vfs.OlatNamedContainerImpl;
 import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl;
 import org.olat.core.commons.services.notifications.SubscriptionContext;
+import org.olat.core.commons.services.notifications.ui.ContextualSubscriptionController;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.link.Link;
@@ -99,6 +100,9 @@ public class DropboxScoringViewController extends BasicController {
 	private CloseableModalController cmc;
 	private IFrameDisplayController iFrameCtr;
 	private DialogBoxController dialogBoxController;
+	private boolean hasNotification = false;
+	private SubscriptionContext subsContext;
+	private ContextualSubscriptionController contextualSubscriptionCtr;
 	
 	/**
 	 * Scoring view of the dropbox.
@@ -129,6 +133,11 @@ public class DropboxScoringViewController extends BasicController {
 			init(ureq);
 		}
 	}
+	
+	protected void init(UserRequest ureq, boolean hasNotification){
+		this.hasNotification = hasNotification;
+		init(ureq);
+	}
 
 	protected void init(UserRequest ureq) {
 		myContent = createVelocityContainer("dropboxscoring");
@@ -152,6 +161,19 @@ public class DropboxScoringViewController extends BasicController {
 		UserManager userManager = CoreSpringFactory.getImpl(UserManager.class);
 		String assesseeFullName = StringHelper.escapeHtml(userManager.getUserDisplayName(assessee));
 
+		// notification
+		if (hasNotification) {
+		subsContext = DropboxFileUploadNotificationHandler.getSubscriptionContext(userCourseEnv.getCourseEnvironment(), node);
+			if (subsContext != null) {
+				String path = DropboxController.getDropboxPathRelToFolderRoot(userCourseEnv.getCourseEnvironment(), node);
+				contextualSubscriptionCtr = AbstractTaskNotificationHandler.createContextualSubscriptionController(ureq, this.getWindowControl(), path, subsContext, DropboxController.class);
+				myContent.put("subscription", contextualSubscriptionCtr.getInitialComponent());
+				myContent.contextPut("hasNotification", Boolean.TRUE);
+			}
+		} else {
+			myContent.contextPut("hasNotification", Boolean.FALSE);
+		}
+		
 		OlatRootFolderImpl rootDropbox = new OlatRootFolderImpl(getDropboxFilePath(assesseeName), null);
 		rootDropbox.setLocalSecurityCallback( getDropboxVfsSecurityCallback());
 		OlatNamedContainerImpl namedDropbox = new OlatNamedContainerImpl(assesseeFullName, rootDropbox);
diff --git a/src/main/java/org/olat/course/nodes/ta/_content/dropboxscoring.html b/src/main/java/org/olat/course/nodes/ta/_content/dropboxscoring.html
index 5a1e155843a01711e16c09347ab2c74bbf232108..25005c6ddb35a27f55172696bd1132276c235f0c 100644
--- a/src/main/java/org/olat/course/nodes/ta/_content/dropboxscoring.html
+++ b/src/main/java/org/olat/course/nodes/ta/_content/dropboxscoring.html
@@ -28,6 +28,11 @@
 		<h4 class="panel-title">$r.translate("dropbox.title")</h4>
 	</div>
 	<div id="collapseDropbox" class="panel-collapse collapse in">
+		<div class="panel-body">
+			#if($hasNotification == true)
+				$r.render("subscription")
+			#end
+		</div>
 		<div class="panel-body">
 			$r.render("dropbox")
 		</div>