diff --git a/opentech/public/home/models.py b/opentech/public/home/models.py
index 22e452eebbab95efe48922c799c91122a696a69b..c2041c970cef1d0dd0faedcfc016f52bd5e61fe1 100644
--- a/opentech/public/home/models.py
+++ b/opentech/public/home/models.py
@@ -124,10 +124,11 @@ class HomePage(BasePage):
     ]
 
     def get_related(self, page_type, base_list):
-        yield from self.pages_from_related(base_list)
-        selected = list(base_list.values_list('page', flat=True))
+        related = page_type.objects.filter(id__in=base_list.values_list('page')).live().public()
+        yield from related
+        selected = list(related.values_list('id', flat=True))
         extra_needed = self.NUM_RELATED - len(selected)
-        extra_qs = page_type.objects.exclude(id__in=selected)[:extra_needed]
+        extra_qs = page_type.objects.public().live().exclude(id__in=selected)[:extra_needed]
         yield from self.sorted_by_deadline(extra_qs)
 
     def sorted_by_deadline(self, qs):
@@ -141,11 +142,12 @@ class HomePage(BasePage):
 
     def pages_from_related(self, related):
         for related in related.all():
-            yield related.page.specific
+            if related.page.live and related.page.public:
+                yield related.page.specific
 
     def get_context(self, *args, **kwargs):
         context = super().get_context(*args, **kwargs)
-        context['lab_list'] = self.get_related(LabPage, self.promoted_labs)
-        context['fund_list'] = self.get_related(FundPage, self.promoted_funds)
-        context['rfps_list'] = self.get_related(RFPPage, self.promoted_rfps)
+        context['lab_list'] = list(self.get_related(LabPage, self.promoted_labs))
+        context['fund_list'] = list(self.get_related(FundPage, self.promoted_funds))
+        context['rfps_list'] = list(self.get_related(RFPPage, self.promoted_rfps))
         return context
diff --git a/opentech/public/home/templates/home/includes/list_block.html b/opentech/public/home/templates/home/includes/list_block.html
index 2ba03c9ce9f1c45b9152c9ca2b246bda2505db46..db1d157b3456d444d32e0ff8606ab58364477d62 100644
--- a/opentech/public/home/templates/home/includes/list_block.html
+++ b/opentech/public/home/templates/home/includes/list_block.html
@@ -1,4 +1,5 @@
 {% load wagtailcore_tags wagtailimages_tags %}
+{% if listing %}
 <div class="wrapper wrapper--breakout wrapper--{{ bg_color }}-bg wrapper--inner-space-xl">
     <div class="wrapper wrapper--medium">
         <section class="section section--introduction">
@@ -50,3 +51,4 @@
         {% endif %}
     </div>
 </div>
+{% endif %}