diff --git a/hypha/apply/projects/models/project.py b/hypha/apply/projects/models/project.py
index 890f6c189817b46b3398c2977fa81f317d2f0bb3..f9d7f969a6291d9cd5455c9f58648addf91f4544 100644
--- a/hypha/apply/projects/models/project.py
+++ b/hypha/apply/projects/models/project.py
@@ -356,10 +356,6 @@ class Project(BaseStreamForm, AccessFormData, models.Model):
         correct_state = self.status == COMMITTED and not self.is_locked
         return correct_state and self.user_has_updated_details
 
-    @property
-    def requires_approval(self):
-        return not self.approvals.exists()
-
     def get_missing_document_categories(self):
         """
         Get the number of documents required to meet each DocumentCategorys minimum
diff --git a/hypha/apply/projects/templates/application_projects/project_admin_detail.html b/hypha/apply/projects/templates/application_projects/project_admin_detail.html
index 19d215cc15c2b88cc8a95b2182b7d8fd991169c5..15a0f048033f54c61e8ffeff5355c151f58f4331 100644
--- a/hypha/apply/projects/templates/application_projects/project_admin_detail.html
+++ b/hypha/apply/projects/templates/application_projects/project_admin_detail.html
@@ -48,26 +48,24 @@
 </div>
 {% endif %}
 
-{% if object.requires_approval %}
-    <a
-        {% if not object.can_send_for_approval %}
-            onclick="return false"
-            data-tooltip="
-                {% if not object.lead %}
-                    {% trans "A lead must be assigned" %}
-                {% elif not object.user_has_updated_details %}
-                    {% trans "Project approval form must be completed" %}
-                {% elif object.can_make_approval or object.can_make_final_approval %}
-                    {% trans "Currently awaiting approval" %}
-                {% endif %}"
-        {% endif %}
-        data-fancybox
-        data-src="#send-for-approval"
-        class="button button--bottom-space button--primary button--full-width {% if not object.can_send_for_approval or not user.is_apply_staff %}button--tooltip-disabled{% endif %}"
-        href="#">
-        {% trans "Submit for Approval" %}
-    </a>
-{% endif %}
+<a
+    {% if not object.can_send_for_approval %}
+        onclick="return false"
+        data-tooltip="
+            {% if not object.lead %}
+                {% trans "A lead must be assigned" %}
+            {% elif not object.user_has_updated_details %}
+                {% trans "Project approval form must be completed" %}
+            {% elif object.can_make_approval or object.can_make_final_approval %}
+                {% trans "Currently awaiting approval" %}
+            {% endif %}"
+    {% endif %}
+    data-fancybox
+    data-src="#send-for-approval"
+    class="button button--bottom-space button--primary button--full-width {% if not object.can_send_for_approval or not user.is_apply_staff %}button--tooltip-disabled{% endif %}"
+    href="#">
+    {% trans "Submit for Approval" %}
+</a>
 
 {% if object.can_make_approval %}
   {% user_can_final_approve_project object user as user_can_approve %}
diff --git a/hypha/apply/projects/templates/application_projects/project_approval_form.html b/hypha/apply/projects/templates/application_projects/project_approval_form.html
index 1fc5cb378269e2ba0571de0dee42d7b509e0df85..419a99ad35ab69c393d987798dced17f7db77380 100644
--- a/hypha/apply/projects/templates/application_projects/project_approval_form.html
+++ b/hypha/apply/projects/templates/application_projects/project_approval_form.html
@@ -8,38 +8,52 @@
     </div>
 </div>
 
-{% include "forms/includes/form_errors.html" with form=form %}
-
-<div class="wrapper wrapper--light-grey-bg wrapper--form wrapper--sidebar">
-    <div class="wrapper--sidebar--inner">
-        <form class="form application-form" action="" method="post" enctype="multipart/form-data">
-            {% csrf_token %}
-            {{ form.media }}
-
-            {% for field in form %}
-                {% if field.field %}
-                    {% if field.field.multi_input_field %}
-                        {% include "forms/includes/multi_input_field.html" %}
+{% if approval_form_exists %}
+
+    {% include "forms/includes/form_errors.html" with form=form %}
+
+    <div class="wrapper wrapper--light-grey-bg wrapper--form wrapper--sidebar">
+        <div class="wrapper--sidebar--inner">
+            <form class="form application-form" action="" method="post" enctype="multipart/form-data">
+                {% csrf_token %}
+                {{ form.media }}
+
+                {% for field in form %}
+                    {% if field.field %}
+                        {% if field.field.multi_input_field %}
+                            {% include "forms/includes/multi_input_field.html" %}
+                        {% else %}
+                            {% include "forms/includes/field.html" %}
+                        {% endif %}
                     {% else %}
-                        {% include "forms/includes/field.html" %}
+                        {{ field.block }}
                     {% endif %}
-                {% else %}
-                    {{ field.block }}
-                {% endif %}
-            {% endfor %}
-
-            {# Hidden fields needed e.g. for django-file-form. See `StreamBaseForm.hidden_fields` #}
-            {% for hidden_field in form.hidden_fields %}
-                {{ hidden_field }}
-            {% endfor %}
-
-            {% trans "Save draft" as save_draft %}
-            {% for button_name, button_type, button_value in buttons %}
-                <button class="button button--submit button--top-space button--{{ button_type }}" type="submit" name="{{ button_name }}" {% if button_value == save_draft %}formnovalidate{% endif %}>{{ button_value }}</button>
-            {% endfor %}
-        </form>
+                {% endfor %}
+
+                {# Hidden fields needed e.g. for django-file-form. See `StreamBaseForm.hidden_fields` #}
+                {% for hidden_field in form.hidden_fields %}
+                    {{ hidden_field }}
+                {% endfor %}
+
+                {% trans "Save draft" as save_draft %}
+                {% for button_name, button_type, button_value in buttons %}
+                    <button class="button button--submit button--top-space button--{{ button_type }}" type="submit" name="{{ button_name }}" {% if button_value == save_draft %}formnovalidate{% endif %}>{{ button_value }}</button>
+                {% endfor %}
+            </form>
+        </div>
     </div>
-</div>
+
+{% else %}
+    <div class="wrapper wrapper--light-grey-bg wrapper--form wrapper--sidebar">
+        <div class="wrapper--sidebar--inner">
+            <p>
+                Approval form not configured. Please add an approval form in the
+                <a href="{% url 'funds_fundtype_modeladmin_edit' object.submission.page.id %}" target="_blank">fund settings</a>.
+            </p>
+        </div>
+    </div>
+
+{% endif %}
 
 {% endblock %}
 
diff --git a/hypha/apply/projects/views/project.py b/hypha/apply/projects/views/project.py
index 402b5a58c9638c8ad00aeddf4856ff4d6483442e..a6ff020c8603d0b0bbfaa9cb7a284c9981e36cef 100644
--- a/hypha/apply/projects/views/project.py
+++ b/hypha/apply/projects/views/project.py
@@ -745,6 +745,7 @@ class ProjectApprovalEditView(BaseStreamForm, UpdateView):
         return super().get_context_data(
             title=self.object.title,
             buttons=self.buttons(),
+            approval_form_exists=True if self.approval_form else False,
             **kwargs
         )