diff --git a/gracedb/admin.py b/gracedb/admin.py
index 0920ccd302864b5c7330b54fd82b88842e6ce6f6..5ece5c4d9c1e8e95e7c4e910ce49a26183030096 100644
--- a/gracedb/admin.py
+++ b/gracedb/admin.py
@@ -1,6 +1,6 @@
 
 from models import Event, EventLog, User, Group
-from models import Label, Labelling, Slot
+from models import Label, Labelling, Slot, Tag
 from django.contrib import admin
 
 class EventAdmin(admin.ModelAdmin):
@@ -33,6 +33,10 @@ class LabellingAdmin(admin.ModelAdmin):
 class SlotAdmin(admin.ModelAdmin):
     list_display = [ 'event', 'name', 'value' ]
 
+class TagAdmin(admin.ModelAdmin):
+    list_display = [ 'name', 'displayName' ]
+    filter_vertical = [ 'eventlogs' ]
+
 admin.site.register(Event, EventAdmin)
 admin.site.register(EventLog, EventLogAdmin)
 admin.site.register(User, UserAdmin)
@@ -40,3 +44,4 @@ admin.site.register(Group)
 admin.site.register(Label, LabelAdmin)
 admin.site.register(Labelling, LabellingAdmin)
 admin.site.register(Slot, SlotAdmin)
+admin.site.register(Tag, TagAdmin)
diff --git a/gracedb/api.py b/gracedb/api.py
index 3cb104037da64912ceb5621c85a7ea6237b69933..354f8183e7809c4fbbb23d74cc1c897874451abe 100644
--- a/gracedb/api.py
+++ b/gracedb/api.py
@@ -791,7 +791,7 @@ class EventLogTagDetail(APIView):
             tag.eventlogs.remove(eventlog)
 
             # Is the tag empty now?  If so we can delete it.
-            if not tag.eventlogs:
+            if not tag.eventlogs.all():
                 tag.delete()
 
             # Create a log entry to document the tag creation.