diff --git a/www/conservancy/apps/assignment/forms.py b/www/conservancy/apps/assignment/forms.py
index 1497e978..1f69062f 100644
--- a/www/conservancy/apps/assignment/forms.py
+++ b/www/conservancy/apps/assignment/forms.py
@@ -63,10 +63,11 @@ class AssignmentForm(forms.ModelForm):
         ]
 
     def clean_period_ends(self):
-        if 'period_begins' in self.cleaned_data and 'period_ends' in self.cleaned_data and self.cleaned_data['period_begins'] and self.cleaned_data['period_ends'] and self.cleaned_data['period_begins'] > self.cleaned_data['period_ends']:
+        period_begins = self.cleaned_data.get('period_begins')
+        period_ends = self.cleaned_data.get('period_ends')
+        period_end_type = self.cleaned_data.get('period_end_type')
+        if period_begins and period_ends and period_begins > period_ends:
             raise ValidationError('End of period is before start')
-
-        if self.cleaned_data['period_end_type'] == 'a specific past date' and not self.cleaned_data['period_ends']:
+        if period_end_type == 'a specific past date' and not period_ends:
             raise ValidationError('This field is required')
-
-        return self.cleaned_data['period_ends']
+        return period_ends