diff --git a/bookwyrm/tests/views/test_helpers.py b/bookwyrm/tests/views/test_helpers.py
index c61505c2..eff08307 100644
--- a/bookwyrm/tests/views/test_helpers.py
+++ b/bookwyrm/tests/views/test_helpers.py
@@ -122,7 +122,8 @@ class ViewsHelpers(TestCase):
         self.assertEqual(statuses[1], public_status)
         self.assertEqual(statuses[0], rat_public)
 
-        statuses = views.helpers.get_activity_feed(self.local_user, 'direct')
+        statuses = views.helpers.get_activity_feed(
+            self.local_user, privacy=['direct'])
         self.assertEqual(len(statuses), 1)
         self.assertEqual(statuses[0], direct_status)
 
diff --git a/bookwyrm/views/books.py b/bookwyrm/views/books.py
index d59eb4aa..e05c4726 100644
--- a/bookwyrm/views/books.py
+++ b/bookwyrm/views/books.py
@@ -45,13 +45,9 @@ class Book(View):
         if not work:
             return HttpResponseNotFound()
 
-        reviews = models.Review.objects.filter(
-            book__in=work.editions.all(),
-        )
         # all reviews for the book
-        reviews = get_activity_feed(
-            request.user, queryset=reviews
-        )
+        reviews = models.Review.objects.filter(book__in=work.editions.all())
+        reviews = get_activity_feed(request.user, queryset=reviews)
 
         # the reviews to show
         paginated = Paginator(reviews.exclude(
diff --git a/bookwyrm/views/helpers.py b/bookwyrm/views/helpers.py
index 10b6ed92..cecb65e3 100644
--- a/bookwyrm/views/helpers.py
+++ b/bookwyrm/views/helpers.py
@@ -117,7 +117,7 @@ def get_activity_feed(
         user, privacy=None, local_only=False, following_only=False,
         queryset=None):
     ''' get a filtered queryset of statuses '''
-    if not queryset:
+    if queryset is None:
         queryset = models.Status.objects.select_subclasses()
 
     # exclude deleted
@@ -137,13 +137,17 @@ def get_activity_feed(
             generatednote__isnull=True,
         )
     else:
-        queryset = queryset.exclude(
-            review__isnull=True,
-            comment__isnull=True,
-            quotation__isnull=True,
-            generatednote__isnull=True,
-            privacy='direct'
-        )
+        try:
+            queryset = queryset.exclude(
+                review__isnull=True,
+                comment__isnull=True,
+                quotation__isnull=True,
+                generatednote__isnull=True,
+                privacy='direct'
+            )
+        except FieldError:
+            # if we're looking at a subtype of Status (like Review)
+            pass
 
     # filter for only local status
     if local_only: