diff --git a/bookwyrm/templates/snippets/shelf_selector.html b/bookwyrm/templates/snippets/shelf_selector.html
index a5f768a7..2d1f2a83 100644
--- a/bookwyrm/templates/snippets/shelf_selector.html
+++ b/bookwyrm/templates/snippets/shelf_selector.html
@@ -72,7 +72,7 @@
diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html
index 75dad0c8..2b87e21f 100644
--- a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html
+++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html
@@ -63,7 +63,7 @@
diff --git a/bookwyrm/templatetags/shelf_tags.py b/bookwyrm/templatetags/shelf_tags.py
index a2788826..4c15786a 100644
--- a/bookwyrm/templatetags/shelf_tags.py
+++ b/bookwyrm/templatetags/shelf_tags.py
@@ -38,7 +38,8 @@ def get_translated_shelf_name(shelf):
"""produced translated shelf nidentifierame"""
if not shelf:
return ""
- identifier = shelf.identifier
+ # support obj or dict
+ identifier = shelf["identifier"] if isinstance(shelf, dict) else shelf.identifier
if identifier == "all":
return _("All books")
if identifier == "to-read":
@@ -47,7 +48,7 @@ def get_translated_shelf_name(shelf):
return _("Currently Reading")
if identifier == "read":
return _("Read")
- return shelf.name
+ return shelf["name"] if isinstance(shelf, dict) else shelf.name
@register.simple_tag(takes_context=True)