diff --git a/opentech/apply/funds/files.py b/opentech/apply/funds/files.py
index 5c05b703476bb54f6b361c7d49d40b8d0754ede5..72e2420fa71dfc6c76ea77291ac159a9f51ed618 100644
--- a/opentech/apply/funds/files.py
+++ b/opentech/apply/funds/files.py
@@ -14,7 +14,13 @@ def generate_submission_file_path(submission_id, field_id, file_name):
 
 class SubmissionStreamFieldFile(StreamFieldFile):
     def generate_filename(self):
-        return generate_submission_file_path(self.instance.pk, self.field.id, self.name)
+        from opentech.apply.funds.models.submissions import ApplicationRevision
+        submission_id = self.instance.pk
+
+        if isinstance(self.instance, ApplicationRevision):
+            submission_id = self.instance.submission.pk
+
+        return generate_submission_file_path(submission_id, self.field.id, self.name)
 
     @property
     def url(self):
diff --git a/opentech/apply/funds/models/submissions.py b/opentech/apply/funds/models/submissions.py
index e4bff5ca8d884c201d73acfc070dad5effb181ff..97b6c9fef7105df1ff87970d7aa98d8bc1ccfb39 100644
--- a/opentech/apply/funds/models/submissions.py
+++ b/opentech/apply/funds/models/submissions.py
@@ -563,7 +563,7 @@ class ApplicationSubmission(
                 self.live_revision = revision
 
             self.draft_revision = revision
-            self.save()
+            self.save(skip_custom=True)
             return revision
         return None