diff --git a/opentech/apply/determinations/forms.py b/opentech/apply/determinations/forms.py
index 2ee93b73eb7e475ee3bd2234aa2ad87e2a4f2b4a..01db2f371e47e5a81ba682d7ea6d1e7feb6d7df5 100644
--- a/opentech/apply/determinations/forms.py
+++ b/opentech/apply/determinations/forms.py
@@ -67,8 +67,12 @@ class BaseDeterminationForm(forms.ModelForm):
         cleaned_data = super().clean()
 
         if self.draft_button_name not in self.data:
-            action_name = self.request.GET.get('action') or \
-                self.get_action_name_from_determination(int(cleaned_data['outcome']))
+            try:
+                outcome = int(cleaned_data['outcome'])
+            except KeyError:
+                outcome = -1
+
+            action_name = self.request.GET.get('action') or self.get_action_name_from_determination(outcome)
             if action_name:
                 transition = self.submission.get_transition(action_name)
                 if not can_proceed(transition):
diff --git a/opentech/apply/determinations/tests/test_views.py b/opentech/apply/determinations/tests/test_views.py
index 7840bb015b53e2298ae0cd700d4f0f16de3b90e1..727858ccb892715e9496843658961f947b532c90 100644
--- a/opentech/apply/determinations/tests/test_views.py
+++ b/opentech/apply/determinations/tests/test_views.py
@@ -45,7 +45,16 @@ class StaffDeterminationsTestCase(BaseTestCase):
         self.assertContains(response, determination.submission.title)
         self.assertContains(response, self.user.full_name)
         self.assertContains(response, reverse('funds:submissions:detail', kwargs={'pk': submission.id}))
+        self.assertFalse(response.context['can_view_extended_data'])
 
+    def test_lead_can_access_determination(self):
+        submission = ApplicationSubmissionFactory(status='in_discussion', lead=self.user)
+        determination = DeterminationFactory(submission=submission, author=self.user, not_draft=True)
+        response = self.get_page(determination)
+        self.assertContains(response, determination.submission.title)
+        self.assertContains(response, self.user.full_name)
+        self.assertContains(response, reverse('funds:submissions:detail', kwargs={'pk': submission.id}))
+        self.assertTrue(response.context['can_view_extended_data'])
 
 class DeterminationFormTestCase(BaseTestCase):
     user_factory = StaffFactory