diff --git a/contracts/admin.py b/contracts/admin.py
index e39fc25524b56adc1a99f4597b8dedc1fd935a09..40623f0582bbe5f36ae6bbd8b1a8f0cd7f4ab945 100644
--- a/contracts/admin.py
+++ b/contracts/admin.py
@@ -5,26 +5,18 @@ from django.contrib import admin
 from django.contrib.auth.models import Permission
 from django.utils.html import format_html
 from import_export import resources
-from nested_admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline
+from nested_admin import (NestedModelAdmin, NestedStackedInline,
+                          NestedTabularInline)
 from rangefilter.filters import DateRangeFilter
 
 from shared.admin import FieldsetInlineOrder, MarkdownxGuardedModelAdmin
 
 from .forms import ContractAdminForm, ContractFileAdminForm, SigneeAdminForm
-from .models import (
-    Contract,
-    Contractee,
-    ContracteeSignature,
-    ContracteeSignatureRepresentative,
-    ContractFile,
-    ContractFilingArea,
-    ContractIntent,
-    ContractIssue,
-    ContractType,
-    Signee,
-    SigneeSignature,
-    SigneeSignatureRepresentative,
-)
+from .models import (Contract, Contractee, ContracteeSignature,
+                     ContracteeSignatureRepresentative, ContractFile,
+                     ContractFilingArea, ContractIntent, ContractIssue,
+                     ContractType, Signee, SigneeSignature,
+                     SigneeSignatureRepresentative)
 
 
 class ContractResource(resources.ModelResource):
@@ -297,6 +289,9 @@ class ContractAdmin(
         return queryset
 
     def save_model(self, request, obj, form, change):
+        # Need to generate primary keys first
+        parent_save_response = super().save_model(request, obj, form, change)
+
         if obj.valid_start_date is None:
             last_signature_date = None
 
@@ -313,7 +308,7 @@ class ContractAdmin(
 
             obj.valid_start_date = last_signature_date
 
-        return super().save_model(request, obj, form, change)
+        return parent_save_response
 
     def has_change_permission(self, request, obj=None):
         if (