diff --git a/production/apps.py b/production/apps.py
index 8c17f2a4c5f7703f5a67715f83ee2c1dc8f0e6c3..d633dcd69d8e1462ea12d64fa04cf8492c2dafe9 100644
--- a/production/apps.py
+++ b/production/apps.py
@@ -8,6 +8,7 @@ class ProductionConfig(AppConfig):
     def ready(self):
         super().ready()
 
-        from .models import ProductionEvent
-        from .signals import notify_new_event
+        from .models import ProductionEvent, ProductionStream
+        from .signals import notify_new_event, notify_new_stream
         post_save.connect(notify_new_event, sender=ProductionEvent)
+        post_save.connect(notify_new_stream, sender=ProductionStream)
diff --git a/production/signals.py b/production/signals.py
index 7cdd7872c8c8dcf8068f80549d29ffd3fafaba46..f4a03e3d650cfba1302a6b648888b07c09922844 100644
--- a/production/signals.py
+++ b/production/signals.py
@@ -1,9 +1,24 @@
+from django.contrib.auth.models import Group
+
 from notifications.signals import notify
 
 
-def notify_new_stream(sender, instance, recipient, **kwargs):
+def notify_new_stream(sender, instance, created, **kwargs):
+    """
+    Notify the production supervisors about a new Production Stream that is created.
+    """
+    if created:
+        editorial_college = Group.objects.get(name='Editorial College')
+        supervisors = Group.objects.get(name='Production Supervisor')
+        for recipient in supervisors.user_set.all():
+            notify.send(sender=sender, recipient=recipient, actor=editorial_college,
+                        verb=' accepted a Submission. A new Production Stream has started.',
+                        target=instance)
+
+
+def notify_new_stream_assignment(sender, instance, recipient, **kwargs):
     """
-    Notify the production team about a new Production Stream created.
+    Notify a production officer about its new Production Stream assignment.
     """
     notify.send(sender=sender, recipient=recipient, actor=sender,
                 verb=' assigned you to a Production Stream.', target=instance)
diff --git a/production/views.py b/production/views.py
index 4dddd7984b61f56b143bd8d629caa6055c7f830d..d839316398fd861defe4dcfce7db320e39274247 100644
--- a/production/views.py
+++ b/production/views.py
@@ -14,7 +14,7 @@ from .constants import PRODUCTION_STREAM_COMPLETED
 from .models import ProductionUser, ProductionStream, ProductionEvent
 from .forms import ProductionEventForm, AssignOfficerForm, UserToOfficerForm
 from .permissions import is_production_user
-from .signals import notify_stream_completed, notify_new_stream
+from .signals import notify_stream_completed, notify_new_stream_assignment
 
 
 ######################
@@ -103,7 +103,7 @@ def add_officer(request, stream_id):
         form.save()
         officer = form.cleaned_data.get('officer')
         messages.success(request, 'Officer {officer} has been assigned.'.format(officer=officer))
-        notify_new_stream(request.user, stream, officer.user)
+        notify_new_stream_assignment(request.user, stream, officer.user)
     else:
         for key, error in form.errors.items():
             messages.warning(request, error[0])
diff --git a/submissions/views.py b/submissions/views.py
index b1418fecc0af9cb5f6dd923874b7382903eea06d..9ec89dceba7f114014a070ae54e6083e2ae0da3c 100644
--- a/submissions/views.py
+++ b/submissions/views.py
@@ -38,7 +38,6 @@ from mails.views import MailEditingSubView
 from scipost.forms import ModifyPersonalMessageForm, RemarkForm
 from scipost.models import Contributor, Remark, RegistrationInvitation
 from scipost.utils import Utils
-
 from comments.forms import CommentForm
 from production.models import ProductionStream