diff --git a/colleges/constants.py b/colleges/constants.py
index f0411a34040c7903cdd19aba9f798e74fc668a3e..46625c019ecc87e79119e7456f672264e57c39c0 100644
--- a/colleges/constants.py
+++ b/colleges/constants.py
@@ -41,6 +41,9 @@ potential_fellowship_statuses_dict = dict(POTENTIAL_FELLOWSHIP_STATUSES)
 
 
 POTENTIAL_FELLOWSHIP_EVENT_DEFINED = 'defined'
+POTENTIAL_FELLOWSHIP_EVENT_NOMINATED = 'nominated'
+POTENTIAL_FELLOWSHIP_EVENT_VOTED_ON = 'votedon'
+POTENTIAL_FELLOWSHIP_EVENT_ELECTED = 'elected'
 POTENTIAL_FELLOWSHIP_EVENT_EMAILED = 'emailed'
 POTENTIAL_FELLOWSHIP_EVENT_RESPONDED = 'responded'
 POTENTIAL_FELLOWSHIP_EVENT_STATUSUPDATED = 'statusupdated'
@@ -49,6 +52,9 @@ POTENTIAL_FELLOWSHIP_EVENT_DEACTIVATION = 'deactivation'
 
 POTENTIAL_FELLOWSHIP_EVENTS = (
     (POTENTIAL_FELLOWSHIP_EVENT_DEFINED, 'Defined in database'),
+    (POTENTIAL_FELLOWSHIP_EVENT_NOMINATED, 'Nominated'),
+    (POTENTIAL_FELLOWSHIP_EVENT_VOTED_ON, 'Voted on'),
+    (POTENTIAL_FELLOWSHIP_EVENT_ELECTED, 'Elected'),
     (POTENTIAL_FELLOWSHIP_EVENT_EMAILED, 'Emailed with invitation'),
     (POTENTIAL_FELLOWSHIP_EVENT_RESPONDED, 'Response received'),
     (POTENTIAL_FELLOWSHIP_EVENT_STATUSUPDATED, 'Status updated'),
diff --git a/colleges/forms.py b/colleges/forms.py
index 302d050a760f8b234a7ce87dda2217405b3fb937..a09f430abfba5c76604b2a8fbff4d81b5614fe81 100644
--- a/colleges/forms.py
+++ b/colleges/forms.py
@@ -14,7 +14,8 @@ from scipost.forms import RequestFormMixin
 from scipost.models import Contributor
 
 from .models import Fellowship, PotentialFellowship, PotentialFellowshipEvent
-from .constants import POTENTIAL_FELLOWSHIP_NOMINATED
+from .constants import POTENTIAL_FELLOWSHIP_IDENTIFIED, POTENTIAL_FELLOWSHIP_NOMINATED,\
+    POTENTIAL_FELLOWSHIP_EVENT_DEFINED, POTENTIAL_FELLOWSHIP_EVENT_NOMINATED
 
 
 class AddFellowshipForm(forms.ModelForm):
@@ -235,18 +236,26 @@ class PotentialFellowshipForm(RequestFormMixin, forms.ModelForm):
 
     def save(self):
         """
-        The default status is IDENTIFIED, which is appropriate if the
+        The default status is IDENTIFIED, which is appropriate
         if the PotentialFellow was added directly by SciPost Admin.
         But if the PotFel is nominated by somebody on the Advisory Board
         or by an existing Fellow, the status is set to NOMINATED and
         the person nominating is added to the list of in_agreement with election.
         """
         potfel = super().save()
-        if self.request.user.groups.filter(name__in=[
-                'Advisory Board', 'Editorial College']).exists():
+        nominated = self.request.user.groups.filter(name__in=[
+            'Advisory Board', 'Editorial College']).exists()
+        if nominated:
             potfel.status = POTENTIAL_FELLOWSHIP_NOMINATED
             potfel.in_agreement.add(self.request.user.contributor)
+            event = POTENTIAL_FELLOWSHIP_EVENT_NOMINATED
+        else:
+            potfel.status = POTENTIAL_FELLOWSHIP_IDENTIFIED
+            event = POTENTIAL_FELLOWSHIP_EVENT_DEFINED
         potfel.save()
+        newevent = PotentialFellowshipEvent(
+            potfel=potfel, event=event, noted_by=self.request.user.contributor)
+        newevent.save()
         return potfel
 
 
diff --git a/colleges/migrations/0013_auto_20190117_1935.py b/colleges/migrations/0013_auto_20190117_1935.py
new file mode 100644
index 0000000000000000000000000000000000000000..d6cd8ee25dd7bcf47d6776f921f7b0a54a318e98
--- /dev/null
+++ b/colleges/migrations/0013_auto_20190117_1935.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.4 on 2019-01-17 18:35
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('colleges', '0012_auto_20190114_0550'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='potentialfellowshipevent',
+            name='event',
+            field=models.CharField(choices=[('defined', 'Defined in database'), ('nominated', 'Nominated'), ('votedon', 'Voted on'), ('elected', 'Elected'), ('emailed', 'Emailed with invitation'), ('responded', 'Response received'), ('statusupdated', 'Status updated'), ('comment', 'Comment'), ('deactivation', 'Deactivation: not considered anymore')], max_length=32),
+        ),
+    ]
diff --git a/colleges/templates/colleges/_potentialfellowship_card.html b/colleges/templates/colleges/_potentialfellowship_card.html
index 6ef9fa58091f9482b57dd0abebf98ac83a0460e2..9225b7042363af21b72c01cd51f8460dae11af8c 100644
--- a/colleges/templates/colleges/_potentialfellowship_card.html
+++ b/colleges/templates/colleges/_potentialfellowship_card.html
@@ -108,6 +108,7 @@
   </div>
   {% endif %}
 
+  {% if perms.scipost.can_manage_college_composition %}
   <h3 class="highlight">Events</h3>
   <div class="row">
     <div class="col-md-6">
@@ -119,7 +120,7 @@
 	{% endfor %}
       </ul>
     </div>
-    {% if perms.scipost.can_manage_college_composition %}
+
     <div class="col-md-6">
       <h3>Add an event for this Potential Fellowship</h3>
       <form class="d-block mt-2 mb-3" action="{% url 'colleges:potential_fellowship_event_create' pk=potfel.id %}" method="post">
@@ -128,6 +129,6 @@
 	<input type="submit" name="submit" value="Submit" class="btn btn-outline-secondary">
       </form>
     </div>
-    {% endif %}
   </div>
+  {% endif %}
 </div>
diff --git a/colleges/views.py b/colleges/views.py
index 56111c96058246f5b1b86caedf9ec01c2db768f8..7f076cf1cd27a0fa6ea88e52d2c3a14e916a7228 100644
--- a/colleges/views.py
+++ b/colleges/views.py
@@ -4,9 +4,10 @@ __license__ = "AGPL v3"
 
 from django.contrib import messages
 from django.contrib.auth.decorators import login_required, permission_required
+from django.core.urlresolvers import reverse, reverse_lazy
 from django.db.models import Count
+from django.http import Http404
 from django.shortcuts import get_object_or_404, render, redirect
-from django.core.urlresolvers import reverse, reverse_lazy
 from django.utils import timezone
 from django.utils.decorators import method_decorator
 from django.views.generic.detail import DetailView
@@ -15,10 +16,10 @@ from django.views.generic.list import ListView
 
 from submissions.models import Submission
 
-from .constants import POTENTIAL_FELLOWSHIP_INVITED, potential_fellowship_statuses_dict,\
-    POTENTIAL_FELLOWSHIP_EVENT_EMAILED, POTENTIAL_FELLOWSHIP_EVENT_STATUSUPDATED,\
-    POTENTIAL_FELLOWSHIP_EVENT_COMMENT,\
-    POTENTIAL_FELLOWSHIP_STATUSES
+from .constants import     POTENTIAL_FELLOWSHIP_STATUSES,\
+    POTENTIAL_FELLOWSHIP_INVITED, potential_fellowship_statuses_dict,\
+    POTENTIAL_FELLOWSHIP_EVENT_VOTED_ON, POTENTIAL_FELLOWSHIP_EVENT_EMAILED,\
+    POTENTIAL_FELLOWSHIP_EVENT_STATUSUPDATED, POTENTIAL_FELLOWSHIP_EVENT_COMMENT
 from .forms import FellowshipForm, FellowshipTerminateForm, FellowshipRemoveSubmissionForm,\
     FellowshipAddSubmissionForm, AddFellowshipForm, SubmissionAddFellowshipForm,\
     FellowshipRemoveProceedingsForm, FellowshipAddProceedingsForm, SubmissionAddVotingFellowForm,\
@@ -314,7 +315,7 @@ class PotentialFellowshipCreateView(PermissionsMixin, RequestViewMixin, CreateVi
     success_url = reverse_lazy('colleges:potential_fellowships')
 
 
-class PotentialFellowshipUpdateView(PermissionsMixin, UpdateView):
+class PotentialFellowshipUpdateView(PermissionsMixin, RequestViewMixin, UpdateView):
     """
     Formview to update a Potential Fellowship.
     """
@@ -409,10 +410,19 @@ def vote_on_potential_fellowship(request, potfel_id, vote):
     potfel.in_disagreement.remove(request.user.contributor)
     if vote == 'A':
         potfel.in_agreement.add(request.user.contributor)
+        comments = 'Voted Agree'
     elif vote == 'N':
         potfel.in_abstain.add(request.user.contributor)
+        comments = 'Voted Abstain'
     elif vote == 'D':
         potfel.in_disagreement.add(request.user.contributor)
+        comments = 'Voted Disagree'
+    else:
+        raise Http404
+    newevent = PotentialFellowshipEvent(
+        potfel=potfel, event=POTENTIAL_FELLOWSHIP_EVENT_VOTED_ON,
+        comments=comments, noted_by=request.user.contributor)
+    newevent.save()
     return redirect(reverse('colleges:potential_fellowships'))