diff --git a/opentech/apply/activity/messaging.py b/opentech/apply/activity/messaging.py
index 2d519f5fdc3b8a1a1d1509e902e1e65af4337525..f0b775a4254114a2554f525e3c406a18b622c497 100644
--- a/opentech/apply/activity/messaging.py
+++ b/opentech/apply/activity/messaging.py
@@ -200,11 +200,14 @@ class ActivityAdapter(AdapterBase):
     def recipients(self, message_type, **kwargs):
         return [None]
 
-    def extra_kwargs(self, message_type, submission, **kwargs):
+    def extra_kwargs(self, message_type, submission, submissions, **kwargs):
         from .models import INTERNAL
         if message_type in [MESSAGES.OPENED_SEALED, MESSAGES.REVIEWERS_UPDATED, MESSAGES.SCREENING]:
             return {'visibility': INTERNAL}
-        if message_type == MESSAGES.TRANSITION and not submission.phase.permissions.can_view(submission.user):
+        is_transition = message_type in [MESSAGES.TRANSITION, MESSAGES.BATCH_TRANSITION]
+
+        submission = submission or submissions[0]
+        if is_transition and not submission.phase.permissions.can_view(submission.user):
             # User's shouldn't see status activity changes for stages that aren't visible to the them
             return {'visibility': INTERNAL}
         return {}