diff --git a/hypha/public/partner/models.py b/hypha/public/partner/models.py
index 39651874db7a8d437b922688abcb5e8077d5836b..2b1bee9a8fda25ca43def742aeb625127cb4e7b6 100644
--- a/hypha/public/partner/models.py
+++ b/hypha/public/partner/models.py
@@ -3,6 +3,7 @@ import datetime
 from django import forms
 from django.core.validators import MaxValueValidator, MinValueValidator
 from django.db import models
+from django.http import Http404
 from django.shortcuts import redirect
 from pagedown.widgets import PagedownWidget
 from wagtail.admin.edit_handlers import FieldPanel
@@ -97,6 +98,11 @@ class PartnerPage(BasePage):
                     category_questions[category.name] = [category.value]
         return category_questions
 
+    def serve(self, request, *args, **kwargs):
+        if not self.public:
+            raise Http404
+        return super(PartnerPage, self).serve(request, *args, **kwargs)
+
 
 def current_year():
     return datetime.date.today().year
diff --git a/hypha/public/partner/views.py b/hypha/public/partner/views.py
index abedfcaba0468fd6d79397ee7e8493e3e390c960..f0fedec92d3e4c53dabdb73016f58753c27abbac 100644
--- a/hypha/public/partner/views.py
+++ b/hypha/public/partner/views.py
@@ -1,7 +1,7 @@
 from django_filters.views import FilterView
+from django_tables2.export.views import ExportMixin
 from django_tables2.paginators import LazyPaginator
 from django_tables2.views import SingleTableMixin
-from django_tables2.export.views import ExportMixin
 
 from .models import Investment
 from .tables import InvestmentFilterAndSearch, InvestmentTable
@@ -30,3 +30,6 @@ class InvestmentTableView(ExportMixin, SingleTableMixin, FilterView):
             filter_action=self.filter_action,
             **kwargs,
         )
+
+    def get_queryset(self):
+        return Investment.objects.filter(partner__public=True)