diff --git a/hypha/apply/funds/admin_views.py b/hypha/apply/funds/admin_views.py
index 4b3dbef3650eb7b58a612508130b72e61790350d..60992135939ec368a4e853ee646eb32f5f1a4dcd 100644
--- a/hypha/apply/funds/admin_views.py
+++ b/hypha/apply/funds/admin_views.py
@@ -108,6 +108,12 @@ class CreateApplicationFormView(CreateView):
 
 class EditApplicationFormView(EditView):
 
+    def get_form(self):
+        form = super(EditApplicationFormView, self).get_form()
+        single_file_count = sum(1 for block in self.get_instance().form_fields.raw_data if block['type'] == 'file')
+        form.fields['form_fields'].block.meta.block_counts = {'file': {'min_num': 0, 'max_num': single_file_count}}
+        return form
+
     def form_invalid(self, form):
         show_admin_form_error_messages(self.request, form)
         return self.render_to_response(self.get_context_data(form=form))
diff --git a/hypha/apply/funds/blocks.py b/hypha/apply/funds/blocks.py
index 9a458e415908b0fe07f4c0828bcc218958078569..b0cd5e227d497760879c58ce59c902e8c07490f7 100644
--- a/hypha/apply/funds/blocks.py
+++ b/hypha/apply/funds/blocks.py
@@ -194,6 +194,11 @@ class ApplicationCustomFormFieldsBlock(CustomFormFieldsBlock, FormFieldsBlock):
     required_blocks = ApplicationMustIncludeFieldBlock.__subclasses__()
     single_blocks = ApplicationSingleIncludeFieldBlock.__subclasses__()
 
+    class Meta:
+        block_counts = {
+            'file': {'min_num': 0, 'max_num': 0},
+        }
+
 
 REQUIRED_BLOCK_NAMES = [block.name for block in ApplicationMustIncludeFieldBlock.__subclasses__()]